Well, I've made some progress with tutorial #5. I solved the clicking on the window title bar issue I mentioned in my last entry by adding a D3DWindow::BeginMessagePump() and D3DWindow::EndMessagePump() function which is called from WinMain before and after all the window messages are processed. The first function pauses the timer and the second unpauses it. Most messages take < 1ms to process, so this has no effect on speed, and this deals perfectly with the size/move and menu loops.
In other news, I'm knackered - I was up till 00:30 last night installing C&C: Red Alert, Populous: The Beginning and Dungeon Keeper + The Deeper Dungeons on my retro PC, and then installing various game patches and "other" patches.
Speaking of "other" patches, I need to find a disassembler and uh... edit... something... to reduce the wear on my CD drive caused by The Deeper Dungeons...