For programming, save yourself the headaches and just invest in a P&E USB multilink which does all that for you. It'll pay for itself very quickly! I've used P&E for the past 5+ years and I'm happy enough to stick with them. Pretty reasonable tech support and response time.
Or you can go with the competition,
SofTec. I have not used their products, so I can't vouch for them personally. But they are slightly cheaper.
And of course there's always the
Open Source BDM programmer. I've not tried that yet, but it seems very promising.