Has anyone got hardware breakpoints to work on 64bit XP and if so how?

We have an application that uses hardware breakpoints this has worked on 32 bit XP and 32 bit Vista operating systems for sometime now. However having ported our code to 64 bit we get a crash when the app is run on 64 bit XP but not when run on 64 bit Vista. The app is compiled and built on XP.

We have isolated this down to thread resumption after setting a breakpoint (DR7=1). The crash occurs if we raise a file dialog box and the GUI controls on forms are rather flaky. Strangely, if after setting the breakpoint and observe the flaky GUI, we then disable the breakpoint (DR7=0) the GUI starts behaving normally again and raising the file dialog does not cause a crash.

We have replaced our breakpoint setting code with other example breakpoint setting code and each example has the same problem.