I haven't found anything wrong with the deferral code. I mixed it up, trying debugging some different programs on Windows, using the different JDKs, but wasn't able to reproduce it either.
So I've had to settle on adding some more logging in a couple of places. I'm only logging extra information for the files you had breakpoints set in before, otherwise we'd be swamped. So use the same breakpoints as before if you can, doesn't matter if they're on the same lines or not, just that they're in the same .scala files. And I fixed the logging so there won't be nulls in the Build window output anymore, so you won't have to do any extra steps with that output. So:
1) Re-download the se-scala-debugger-assembly-1.0.0.jar from the link you got the updated one from, and copy it over the one in the install directory under resource/tools/scaladbgp
2) set def-debug-logging to 1 again.
3) Reproduce like you did before, with breakpoints in the same files, attaching, and waiting at least 30 seconds before ending the debug session.
4) We only need the output from the Build window, don't need the debug.log anymore.
This should give me the only bit of information I'm missing from the previous logs to decide how the deferral bug is happening.