Hmm, thanks for the report on both sides. I have some similar runtime code set up in my Reverse Factory mod, that has to check each machine on every surface, and has to add/remove when certain events are raised.
The only script event that they appear to be missing is "on_pre_surface_cleared" and "on_pre_surface_deleted", which may apply to this specific case, if the platform itself was removed/destroyed, and the reference to the original object not cleared.
Though they do already have "on_entity_died" and "script_raised_destroy", which should have removed the reference long before the platform was destroyed/removed. If that's not the problem, then I guess there must just be a bug somewhere in their UpdateAll script (the one that decides to add or remove references from the list, then runs the relevant code)
Apart from that, only other differences is that they use "on_robot_pre_mined" instead of "on_robot_mined_entity"; though I don't know what the actual difference between these events is. It probably doesn't matter, considering it should most likely be getting built by space platform, not by construction bot.
There's a command written here that you could probably use to get more info on the current list of references, but it will likely just confirm what you already know:
/c __slp-dyson-sphere-reworked__ game.player.print(serpent.dump(storage))