This Instructable will give you step by step instructions for how to make an Arduino Diecemella actually upload homebrewed code, instead of just examples on Windows XP.
Step 1: Download the FTDI drivers
Skip this step if you can link an example to your chip, such as blink.
Go to http://www.ftdichip.com/Drivers/VCP.htm The FTDI card drivers website
and click on Windows XP. Save this somewhere, and when you plug in your arduino, direct the Add New Hardware wizard to that folder. It should install about two to four different things.
Step 2: Download the GOOD Arduino software.
If you have Arduino 0012 or 0010, then you need to get rid of it for 0009. It won't come up with the hex error like later ones. Those later ones will look like they work, but they are pure evil for programmers who don't just want to mess around with the blink rate of that oh-so popular example.
Step 3: Set your COM port.
After you extract the Arduino software, run the .exe or the batch file labeled "Run". When it comes up, which may take a while, go to tools and hover over "Serial Port". If you don;t have any other weird devices and only one serial port, then select COM3, or COM4 if it's there. These are those Serial to USB drivers you installed earlier. If you don't change these nothing will upload because it's going to the wrong port.
Step 4: Try it out!
An easy way to do this is to change the blink rate of the blink program in Examples/Digital and save it somewhere else, then load it and try to upload it to your board. If it works, then you're done. If it doesn't work, then Post a comment.