SimulatedDevices are re-built every time 'xcrun simctl list' is run. Instead, SimulatedDevices should be updated with the newer information but remain persistent.
Created attachment 305105 [details] Patch
Created attachment 305132 [details] Patch
<rdar://problem/31221144>
A different approach is going to be used for this issue. Marking as invalid and resolved.