It must be putting the main loop in a thread to have the window moveable I think. Not really done that before.
nah, the window lmb click/move is to do with the main repeat loop (and/or within a callback) which is the default window timer. the sendmessage calls should be within this, not the threaded repeat loop which is used with the separate timer (so the screen doesnt freeze).
The window init is just the dpiaware code resized to 800x600 or using #PB_WINDOW_MAXIMIZE for fullscreen.
ah k. that shouldnt be any issue then. i'll show/give you my code for a windowed screen switch between a window and a fullscreen window (via spacebar keypress)... its much nicer (imo) as then it doesnt mess with your desktop resolution like a fullscreen window does (openscreen). the only thing is that instead of rendering to screenoutput, render to sprites (use them as a canvas) so that scaling works properly (unless you want to do all the math scaling calculations in code yourself).
Do you think it might need a slight delay before calling the thread or using SetWindowCallback() instead?
nah, theres no need for a delay of any sort after the thread creation. whether using a window callback or having the same code within the main repeat loop shouldnt really change things tbh. in saying that, when compiling using DirectX9... using the window callback option seems to work better/smoother than having the same code within the main repeat loop (in my general testing/debugging).
I'm open to all suggestions to get this moveable window working 100% as it's a nice option to have.
with my testing using OpenGL, DirectX9 and DirectX11... it seems that OpenGL is the most stable rendering environment to use (i guess thats why PB changed to it as default?). DirectX9 is rather buggy, windows would bug out... then work properly, freeze, unfreeze, crash... and this was whilst doing testing/debugging on ~30 different window attempts. as for DirextX11, it half-works (some sprites dont render, nfi why atm... more debugging to be done), but the rendering window is much more reliable, similar/same as OpenGL.
Thanks for the feedback, appreciate it. 
np... this helps me also in squashing issues, as i intend on creating more prods, so if i can get a 'default' template/environment for prods and build off of it, it'll be much better imo. less bugs, more production.
the only thing that's been bothering me lately has been the main timer pausing when you lmb click/drag... so much so, that the latest prod i have done/released (an intro for a scene group), i left out the sub-timer/thread code (the window freezes upon lmb/drag) so i didnt have any crashes or compatibility issues between systems. compiled using OpenGL too, not DirectX9, as its more reliable.