An app calls CreateFile to create a device handle by prefixing the driver filename with "\\.\", then talks to it with calls to DeviceIoControl.
See internals.cpp in the KernelEx source for an example.
Actually, profiling with DW is very easy, and a skill every MSFN contributor should have in their debugging toolset.
If you meant testing at each step of the copying, please be patient and methodical. You'll be glad you did.
A simple way to do that is to load an exe into DW and then profile it. DW will add to the tree any delayed (explicit) dependencies and warn of problems. The log will show what loaded last before the exe began unloading.
Separately, you can try upgrading XP with v.15 dlls (one at a time) while still using the .11 exe. Some might work.
Adaptec has a driver that mounts specially formatted CD and DVD discs as drives any app can write to. Deleting files hides but doesn't erase them, so discs eventually fill up. RW discs can be reused, R can't.
DOS requires a FAT partition to boot. Win9x requires DOS. The VM image would have to be a booted DOS session with NTFS support already loaded. Focus on getting this much working before adding Windows.