Both. I imagine you will need to test your applications in both XP and Vista..
Which one you use to actually develop on is personal-preference, and nothing more.. There's a few technical benefits to using either (for XP, there will be a bit less memory overhead of the OS. On Vista, there are lots of new features, some of which may be useful), but Visual Studio will pretty much work the same on both..
As for 64 vs 32 bit.. I would say use 64-bit - if for no reason but easily using > 3GB RAM, and that you can virtualize a 32-bit OS on 64-bit, but not vice-versa