It appears to be a corrupt security sandbox issue. After any change to any sandbox (i.e., adding/removing paths from sandboxes), causes the server to throw errors on every request until the CF service is restarted. It appears there's a bug in the sandbox security migration wizard from CF8 to CF9.
Since I recreated the sandbox from scratch, all is well again. CFIMAGE is not throwing the error any longer.
Just a bit more related information that might help someone else searching for a solution... at http://www.cfexecute.com/post/coldfusion-verity-unable-to-create-temporary-file I found this tidbit:
"Turns out that if you are using Sandbox Security you'll need to add the value of the GetTempDirectory function to your Sandbox with read and write permissions and it will start working again."
... and indeed if I add:
to my sandbox with Read, Write (and I figure Delete permissions, because how will the system remove the temp file otherwise?), the CFIMAGE resize doesn't throw the error any more.
Another update. Had a problem with a sandboxed CF9 site doing a simple CFIMAGE READ to a memory variable. Got an "Unable to create temporary file" error.
Inserted the following code in the file upload page:
writeoutput("Temp Dir : " & createobject("java","java.lang.System").getProperty("java.io.tmpdir") );
... and it reveals the temp directory as C:\WINDOWS\TEMP. Added that to the sandbox, and the CFIMAGE READ is working properly now.
Note this seems inconsistent with CFIMAGE RESIZE behavior which appears to use the CF GetTempDirectory() value, which in my case is C:\JRun4\servers\cfusion\SERVER-INF\temp\cfusion-war-tmp\
For reference, see the section "Sandbox Considerations" at this link: