Well, there's good news and bad news.
The good news is that the change in IgnoreTimeScale.cs does fix the problem. There's no freezing whatsoever when I resume the app after keeping it suspended for 12-16 hours.
The bad news is that the springy momentum movement of my UIDraggablePanel is broken by the change. For a while after I resume (actually, it's pretty similar to the way the freeze worked: the longer the app was suspended, the longer this issue lasts), there's no momentum when I drag. I can drag the panel, but it stops immediately when I stop dragging it. After a little while, it'll go back to having momentum. It's a much more exaggerated effect than the freeze was, though; 5 minutes of suspending the app is enough to make this issue very apparent on resume.
My inclination is to remove the changes in NGUIMath.cs, since they're in code related to spring lerping and dampening, but those changes don't end up being necessary anyway. deltaTime is always clipped to 1.0f before the clipping code I added to those methods, so removing the clipping code in NGUIMath.cs doesn't do anything.
Do the spring panels use some sort of accumulator? What I see with debug prints is this:
==================
No changes
==================
SpringDampen: deltaTime = 0.017
SpringDampen: deltaTime = 0.018
SpringDampen: deltaTime = 0.016
SpringDampen: deltaTime = 0.017
SUSPEND, WAIT A WHILE, RESUME
SpringDampen: deltaTime = 1752.508
SpringDampen: deltaTime = 0.017
SpringDampen: deltaTime = 0.018
==================
IgnoreTimeScale.cs changes
==================
SpringDampen: deltaTime = 0.017
SpringDampen: deltaTime = 0.018
SpringDampen: deltaTime = 0.016
SUSPEND, WAIT A WHILE, RESUME
SpringDampen: deltaTime = 1
SpringDampen: deltaTime = 1
SpringDampen: deltaTime = 1
SpringDampen: deltaTime = 1
SpringDampen: deltaTime = 1
SpringDampen: deltaTime = 1
SpringDampen: deltaTime = 1
<this goes on for quite some time, and my drags have no momentum while deltaTime = 1>
SpringDampen: deltaTime = 1
SpringDampen: deltaTime = 1
SpringDampen: deltaTime = 1
SpringDampen: deltaTime = 1
<eventually, we go back to normal deltaTime values, and my drags have momentum again>
SpringDampen: deltaTime = 0.018
SpringDampen: deltaTime = 0.016