OK, we'll see if I can remember info from that far back.
2004 units did not have the same compiler/MPLab/whatever else as 2008 units. The good news, they were programmed in C.
But, as a general guide: MPLab was used to write and compile the code (in C, either year in question. I'm not entirely certain what it had/didn't have. The code was then loaded onto the controller using an IFI loader.
I don't know the procedure for RobotC, sorry.
Now, for something that may help you a bit more:
http://www.kevin.org/frc/ is the site where Kevin Watson posted a lot of his code from 2004-2008. This is a lot of specialized code, but there should be some basic code around there too. There is also documentation.
__________________
Past teams:
2003-2007: FRC0330 BeachBots
2008: FRC1135 Shmoebotics
2012: FRC4046 Schroedinger's Dragons
"Rockets are tricky..."--Elon Musk
