There's a couple issues with the dxxxxxxxx functions.
The one I'm annoyed with most: in a procedure running in a separate thread, create a new image variable, load an image into it (try to get a larger size (2000x2000) to see the result more clearly) then rotate that image... all in a separate thread. A separate thread.... a separate thread (just to be clear... it's all happening in a separate thread...)...
The call to dRotation hangs up the main UI thread until it's finished. The dRotation call, being performed on a variable that exists only in a separate thread... hangs up the UI thread.
I've since utilized an OpenGL wrapper to do all of my graphics stuff for me -- I don't call a single dxxxxxxx function anymore and life is grand

I do enjoy how easy it is to utilize other libraries in WinDev - they did a great job there