Thanks for the information everyone has been gathering on the cycle orders problem. It does appear to be related to the situation where an entire list of cycled orders is being completed in less than one increment. As a workaround while I find and fix this I suggest using day-long increments when Earth and Mars are close together.
Finally fixed I think. The problem was that the order object for the newly cycled order (but not the DB record) was retaining an 'Arrived' flag and a 'Time Required' value that are set when the fleet arrives to unload (or load) cargo. This meant that if the cycled order was carried out during the same increment in which it was created, the newly cycled load or unload never happened (because the program thought the fleet had already arrived) and the time required for unload was therefore never set. Instead, the code went down the route for a fleet that was mid-unload using the last time required value from the previous cycle of the same order. As the time required value diminishes during the unload process that value was often a very small one when it was inadvertently passed into the next cycle (and would potentially get still smaller as the loop continued). Because the order now required only a small amount of time, it could be carried out thousands of times in a long increment, such as 30 days. So the hang wasn't really a hang but was an increment that was taking a really long time to complete. The database records containing the thousands of orders are only tidied up at the end of the increment so if a player Ctrl-Alt-Deletes out during this really long increment those records remain in the DB, causing overflow errors when you try to select the affected fleet in the Fleet window.
Because this data error was only in the order objects and not the DB, the problem would not occur if a new increment was started before the cycled order was reached (because data is refreshed from the DB at the start of the next increment). So in order for this error to happen, it had to be a task involving loading or unloading cargo and it had to be a situation where all the orders in the cycled order list could all be completed within one increment. Which meant a rare scenario such as Earth and Mars in close proximity plus a long increment time.
In effect, this was like the Stargate episode where they get trapped in a time loop by the alien archeologist trying to see his dead wife (the one with the fruit loops!). Your cargo fleet is trapped in its own little time loop, cut off from the rest of the universe and living the same day over and over thousands of times until it finally comes out the other side (or Colonel O'Neill uses Ctrl-Alt-Delete). I guess we could call it the groundhog bug
I'll release the v4.91 patch shortly which should prevent this problem in the future. If you have an existing fleet with this problem then you will need to remove the problem orders. You can click through the errors on the F12 window and then use Delete All button to remove all of the orders. You might also be able to use another fleet to Absorb the affected fleet, which should delete the affected fleet but keep the ships.
Steve