1] the grey key is really easy to lose, because dropping it off-level is not persistent. You step off a level for a moment, and it’s gone. I think carryable keys are a fun mechanic, but trying to use them across several levels is just outside the scope of their design. Even if we made them persistent and made them not get deleted on level-switching, we’d have to deal with the nightmare of players possibly tossing them into inaccessible places - which we have no way to detect in our engine, and I don’t think is possible to rigorously detect.
Proposed solution: switch to a system of using gigantic mario/kirby-style switches for major unlocks like this.
2] the fan house eats the grey key.
Proposed solution: Don’t have a grey key; see above.
3] the transition of houses from “monster dungeons” to “small npc houses” post-liberation renders heart pieces still uncollected in them permanently inaccessible.
Proposed solution: I think “story-segment-constrained” levels like this (which you can only get at during part of the story) are good for story reasons, and I think we can get around this issue by never putting permanent rewards in such levels. It’s arguable that this might neuter the reward mechanic for exploring them, though - however, if we change coins to being unlimited, which is planned, then fully exploring the houses can simply yield “big cash prizes” at the points heart segments are currently hidden at.