After I updated to SetupBuilder 8.1 I noticed strange behavior by our setup files on a couple of machines.

First, FUNCTION:check In-use returns 0 (not in use)
|11/13/2013|17:24:28.343|@CHECK ("%INUSE%" : "c:\mydir\mydll.dll" : 0)

But the file is not replaced. Instead, a Windows reboot request is triggered:
|11/13/2013|17:24:31.494|ProcessSpecialActions: 6 : C:\Users\oeb\AppData\Local\Temp\~SBE3B2.tmp : c:\mydir\mydll.dll

As I understood it this should not be possible when "Delayed File Install" is used - instead the setup operation should fail?

On most machines this works fine. Compiling the same script with SetupBuilder 7.7 works fine even on the two machines with the described behavior.