If a process has a stream socket open to another process, or to another system over the network, what happens to that socket when the process is "thawed"?
How about if it's listening on a TCP port -- what happens if that port is in use by another process when the original one is thawed?
"Handles to deleted files are relatively uncommon in practice."
Could you please expand on your reasoning here? We're talking about restoring processes at arbitrary points in the future. That means we're not just talking about handles to files that were deliberately deleted while the process was running, but also anything that the process had open that was frozen that may have been subsequently deleted. That would seem to include any log file that gets rotated, which is not exactly rare, plus a ton more things.
I also think that treating network sockets as if they were disconnected is likely to go better than treating files that way - existing programs probably make more assumptions about disk state not changing unexpectedly than about network state not changing unexpectedly (even if both are technically not well founded).
How about if it's listening on a TCP port -- what happens if that port is in use by another process when the original one is thawed?