All right, so, leaving the world and going back to the system map, then going back to the world (load and resume) makes the issue go away, so I don't think a save will do much good.
However, I just had it happen to me again. Same exact thing: All of a sudden some buildings could not be deleted, and the red/green destination markers stick, and weapon ranges are no longer displayed.
It's a bummer that it's not associated with the save, but a good sign that it happened twice. I will see if I can find a way to reproduce it. All I know right now is it started as I was rapidly clicking on objects and deleting them with shift+x.
In the mean time yes there's a bunch of exceptions in the log, so this could also be a good hint:
Unloading 0 unused Assets to reduce memory usage. Loaded Objects now: 12793.
Total: 61.929535 ms (FindLiveObjects: 0.884337 ms CreateObjectMapping: 0.340782 ms MarkObjects: 60.681637 ms DeleteObjects: 0.021438 ms)
Unknown: ZoomSlider
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 64)
NullReferenceException: Object reference not set to an instance of an object
at CommandCenter.UnitsSelected () [0x00000] in <filename unknown>:0
at CommandCenter.set_selectedUnitCount (Int32 value) [0x00000] in <filename unknown>:0
at UnitManager.set_selected (Boolean value) [0x00000] in <filename unknown>:0
at UnitManager.DestroyUnit (Boolean explosionEffect, Single scale, Boolean manual) [0x00000] in <filename unknown>:0
at CollectorManager.DestroyUnit (Boolean explosionEffect, Single scale, Boolean manual) [0x00000] in <filename unknown>:0
at UnitManager.DestroyUnit (Boolean manual) [0x00000] in <filename unknown>:0
at CommandCenter.DestroySelectedUnits () [0x00000] in <filename unknown>:0
at CommandCenter.OnDestroyButtonDown () [0x00000] in <filename unknown>:0
at CommandCenter.HandleGameInteraction () [0x00000] in <filename unknown>:0
at CommandCenter.HandleInteraction () [0x00000] in <filename unknown>:0
at GameSpace.HandleKeyMouseInput () [0x00000] in <filename unknown>:0
at GameSpace.Update () [0x00000] in <filename unknown>:0
(Filename: Line: -1)
NullReferenceException: Object reference not set to an instance of an object
at CommandCenter.UnitsSelected () [0x00000] in <filename unknown>:0
at CommandCenter.set_selectedUnitCount (Int32 value) [0x00000] in <filename unknown>:0
at UnitManager.set_selected (Boolean value) [0x00000] in <filename unknown>:0
at UnitManager.DestroyUnit (Boolean explosionEffect, Single scale, Boolean manual) [0x00000] in <filename unknown>:0
at CollectorManager.DestroyUnit (Boolean explosionEffect, Single scale, Boolean manual) [0x00000] in <filename unknown>:0
at UnitManager.DestroyUnit (Boolean manual) [0x00000] in <filename unknown>:0
at CommandCenter.DestroySelectedUnits () [0x00000] in <filename unknown>:0
at CommandCenter.OnDestroyButtonDown () [0x00000] in <filename unknown>:0
at CommandCenter.HandleGameInteraction () [0x00000] in <filename unknown>:0
at CommandCenter.HandleInteraction () [0x00000] in <filename unknown>:0
at GameSpace.HandleKeyMouseInput () [0x00000] in <filename unknown>:0
at GameSpace.Update () [0x00000] in <filename unknown>:0
(Filename: Line: -1)
NullReferenceException: Object reference not set to an instance of an object
at CommandCenter.UnitsSelected () [0x00000] in <filename unknown>:0
at CommandCenter.set_selectedUnitCount (Int32 value) [0x00000] in <filename unknown>:0
at UnitManager.set_selected (Boolean value) [0x00000] in <filename unknown>:0
at CommandCenter.UnselectAllUnits () [0x00000] in <filename unknown>:0
at CommandCenter.OnCancelButtonDown () [0x00000] in <filename unknown>:0
at CommandCenter.OnDestroyButtonDown () [0x00000] in <filename unknown>:0
at CommandCenter.HandleGameInteraction () [0x00000] in <filename unknown>:0
at CommandCenter.HandleInteraction () [0x00000] in <filename unknown>:0
at GameSpace.HandleKeyMouseInput () [0x00000] in <filename unknown>:0
at GameSpace.Update () [0x00000] in <filename unknown>:0
(Filename: Line: -1)
NullReferenceException: Object reference not set to an instance of an object
at CommandCenter.UnitsSelected () [0x00000] in <filename unknown>:0
at CommandCenter.set_selectedUnitCount (Int32 value) [0x00000] in <filename unknown>:0
at UnitManager.set_selected (Boolean value) [0x00000] in <filename unknown>:0
at CommandCenter.UnselectAllUnits () [0x00000] in <filename unknown>:0
at CommandCenter.OnCancelButtonDown () [0x00000] in <filename unknown>:0
at CommandCenter.OnMyMouseDown () [0x00000] in <filename unknown>:0
at CommandCenter.HandleGameInteraction () [0x00000] in <filename unknown>:0
at CommandCenter.HandleInteraction () [0x00000] in <filename unknown>:0
at GameSpace.HandleKeyMouseInput () [0x00000] in <filename unknown>:0
at GameSpace.Update () [0x00000] in <filename unknown>:0
(Filename: Line: -1)
NullReferenceException: Object reference not set to an instance of an object
at CommandCenter.UnitsSelected () [0x00000] in <filename unknown>:0
at CommandCenter.set_selectedUnitCount (Int32 value) [0x00000] in <filename unknown>:0
at UnitManager.set_selected (Boolean value) [0x00000] in <filename unknown>:0
at CommandCenter.UnselectAllUnits () [0x00000] in <filename unknown>:0
at CommandCenter.OnCancelButtonDown () [0x00000] in <filename unknown>:0
at CommandCenter.OnDestroyButtonDown () [0x00000] in <filename unknown>:0
at CommandCenter.HandleGameInteraction () [0x00000] in <filename unknown>:0
at CommandCenter.HandleInteraction () [0x00000] in <filename unknown>:0
at GameSpace.HandleKeyMouseInput () [0x00000] in <filename unknown>:0
at GameSpace.Update () [0x00000] in <filename unknown>:0
(Filename: Line: -1)
NullReferenceException: Object reference not set to an instance of an object
at CommandCenter.UnitsSelected () [0x00000] in <filename unknown>:0
at CommandCenter.set_selectedUnitCount (Int32 value) [0x00000] in <filename unknown>:0
at UnitManager.set_selected (Boolean value) [0x00000] in <filename unknown>:0
at MoveManager.set_selected (Boolean value) [0x00000] in <filename unknown>:0
at CommandCenter.UnselectAllUnits () [0x00000] in <filename unknown>:0
at CommandCenter.OnCancelButtonDown () [0x00000] in <filename unknown>:0
at CommandCenter.HandleGlobalInteraction () [0x00000] in <filename unknown>:0
at CommandCenter.HandleInteraction () [0x00000] in <filename unknown>:0
at GameSpace.HandleKeyMouseInput () [0x00000] in <filename unknown>:0
at GameSpace.Update () [0x00000] in <filename unknown>:0
(Filename: Line: -1)
Everything before that in the log seemed reasonable, just a bunch of mundane initialization / resource management informative messages.
In that log one exception corresponds to each attempt to destroy an object, and also the ones with the different stack trace at the end are me selecting an object to move then pressing space to cancel (the persistent destination marker part of the problem).