My guess is that that function calls the DirectX procedure relevant for pixel perfect collision from the Hardware it is running on - fine if you have a propper GPU however having used a 945 (or its revamps by intel AKA 945G and the infamous GSE) that call may not actually be implemented/fully implemented (intel does pull of garbage like this).

I would liken the 945 series as a clocked down 950 with fewer features and is effectively a pie that redirects graphics command to the CPU - it does very little.

Otherwise if you're running XP then I would look into service packs as the 945 has some issues with DX9 (it supposedly support DX9.0c) and thus has a variety of driver updates and fixes that were still fixing bugs in Service Pack 3...

It would not occure on your regular (or high end ) pc simply because a DX9 call is archaic for your GTX285s DX10 support, I mean it has OpenCl 1.1 support which is sort of still on the bleeding edge.

Simply: Make a game on any ATI/nVidia chip with a GUI and to port it to anything earlier than a GMA 4500 / very new and overclocked GMA 950 you can change evrything to rectangles in 16 colour and hope to God it works...