An engine update no longer moves an environment onto the wrong Wine. Highball decides whether an environment can follow an engine update by checking whether the Wine build is the same. It was asking that question about the default engine rather than about the environment in front of it, so an environment you had deliberately put on a different engine could be moved onto a Wine it was not built for. That environment then failed to start, usually with a Windows error during first boot. It now asks per environment, and an environment whose engine this version does not recognise is left alone.
And it no longer deletes an engine it does not recognise. Cleanup after an update removed engines that were not in that version's own list, which meant an older Highball would delete a newer one's engine and strand every environment using it. Only the engine the update replaces is removed now, and only when nothing is running on it.
Both have been present since 0.8.8. If an environment stopped working after an engine update, open its settings and put it back on the engine it was on: nothing in it was lost.