Leonardo __ Always getting Found_New_Hardware_Wizard

Hello world,

I have an Arduino Leonardo (made by SainSmart). Every time that I power-on the PC and plug the Leo into the USB, it runs the Found_New_Hardware_Wizard. After doing this involved process, it creates a virtual serial port with a higher number than the previous time that I plugged in the Leonardo. How can I fix this so that it retains the Arduino hardware configuration?

On the PC's USB, I have a SATA/IDE-to-USB interface, a 2 TeraByte hard drive, EPSON scanner (PerfectionV33), Samsung Laser printer, MIDI interface, a USBasp AVR programmer, and standard HID mouse and keyboard. I know that in theory USB can handle 127 devices, but is this too much load? I'm running XP with SP2 ver 5.1.2600 on a Dell OptiPlex SX280. The CPU is a Pentium 4 at 3 gHz with 1 Gig RAM. The PC has one legacy serial port:COM1 (that always shows up) and parallel/printer port (with DB25).

After loading the driver, I try to upload a compiled sketch and get the Arduino error saying "Serial port is already in use. Try closing the other program." But there are no other programs running. How do I fix this?

If I unplug the Leo USB cable and plug it back, it goes to a next higher serial port number. Attempting to upload gives this mess of text:

Binary sketch size: 5,526 bytes (of a 28,672 byte maximum) Found programmer: Id = "BoĊ¸"; type = {square char} Software Version ={square char}.{square char} Hardware Version = {square char}.{square char} avrdude: error: buffered memory access not supported. Maybe it isn't a butterfly/AVR109 but a AVR910 device?

I do AVR development in Assembler. My code is uploaded as hex files to non-Arduino AVR CPUs using AVRdude and a USBasp interface. Does this interfere with Arduino environment? How do I fix this?

In the Arduino screen, under Tools: Programmer, USBasp is selected. Did the Arduino install program make this selection because it found a USBasp driver on the PC? Should I change this selection?

Thank you,