Finally got off my lazy bum and debugged the issue... it's the sound effect of the steam engine and I see no reasonable way to get around it (unless you know your way around .net framework a bit...). Basically the sound effect is already nulled by the base class of the steam engine (powersource) and there's no null check afterwards. You can easily patch the executable with IlSpy + Reflexil to remove (replace with nops) the call to mSfx.Stop from SteamEngine.OnDelete, and the steam engine will deconstruct just fine.
Of course, Steam might decide the executable is not up to date and overwrite it with the server version at some point... Ah well, I abandoned that save anyway, it was crawling (probably because of beetles, which I refuse to disable). I'll probably just stay away from the steam engine for now, it's easier. I'll leave the executable patched for as long as steam will let me, but it's highly unlikely there will be any side effects.
IF someone else is reaaaaally bugged by this and wants more detailed instructions, let me know.