SCSI Miniport -> USB on XP

To support a custom USB mass storage device I have a SCSI Miniport that
passes read/write requests (via IoCallDriver) to a USB device driver built
using the DriverWorks 2.5 libraries.

I have this setup working great on Win98 and Win2K, but it has many weird
and wonderful problems on XP (mostly crashing due to apparent memory

Is this architecture still recommended/supported on XP? Or is there a better
way to support a USB storage device that is not compliant with the USB Mass
Storage specification?

Do I need to build against the XP DDK? Or can I build with the Win2K DDK and
Visual Studio C++ 6.0?