Okay so this is a bit experimental because it uses a feature I never used before and does some complex stuff, so please let me know if it breaks.
Place the ffc on the screen you wish to have block holes remembered on, make sure to check the "run at screen init" flag. All block holes need to be present on the very first frame of the screen, so things that cycle into block holes won't work, and secrets that turn into block holes won't work unless you reload the screen after triggering it or it's a carryover. All push blocks and the combo afterwards (the combo of the block in the hole) need to use a unique combo that isn't present elsewhere on the screen, and like block holes they need to be present on the very first frame of the screen so the script can find it and remove it (though unlike block holes, blocks that are revealed by triggering a secret don't need the screen to be reloaded for them to save, just as long as whenever you return the script can find them on the very first frame).
2.55 obvously; I don't know which alpha added the thing I'm using, but it should work on latest at the very least.
The big thing preventing built in 2.55 features from doing this is there's no way to know which block hole was filled in; you can tell which block was pushed in because it'll always turn into the next combo in the list, but not which block hole.