ATMega644P looking for deeper understanding about not working

Hi,
I am having problems with uploading a sketch after programming a bootloader. It used to just work if I pressed and released the reset before compiling.

I've been using my 644p Reprap Motherboard v1.2 off and on for quite a while and the associated Sanguino with Arduino as it changed from 23 and then 1.0 and the various versions up to 1.0.4. I upgraded my hardware to be more like a gen3 plus, eliminating the rs485 a long time ago. I used to be able to program my motherboard using my usbasp programmer and get the sketch from Repetier to load into it. Not too long ago I tried burning a new bootloader and everything went downhill from there. I am able to successfully program the bootloader ( I have tried many, spanning that same range I mentioned ) with no luck in getting the new sketch loaded.

When compiling the bootloader I looked at the makefiles for the various versions, the latest bein sanguino\bootloaders\atmega\ATmegaBOOT_168_atmega644p.hex and I can change the NUM_LED_FLASHES and see the result in the led blinking, making me believe that everything went ok as well as not seeing any errors from avrdude. I have been wondering if there are things that I don't know about the fuse options needing to be a particular value for the Reprap Motherboard v1.2. I think the experts here may have some valuable insight. It could be that the board is damaged in some way, but I don't know how to conclude that based on any tests. I have looked through the web for references to 644p and bootloader and followed up everything I saw. I know about fuse calculators and how to set them but not much about how to choose the right values. What I most recently tried was tools\avr\bin\avrdude -c usbasp -p m644p -C tools\avr\etc\avrdude.conf -e -U lock:w:0x3F:m -U efuse:w:0xFF:m -U hfuse:w:0x9A:m -U lfuse:w:0xFF:m -Uflash:w:"sanguino\bootloaders\atmega\ATmegaBOOT_168_atmega644p.hex".

So far I have learned to unplug the SD card from it's slot. It just wont program that way. I also unplug all the other wires except for the icsp or the usb connection and the power when trying to load a sketch.

I welcome any insight into how to approach solving my problem.

Any chance you just have a mismatch in speeds between the bootloader and the PC?

I've tried the new default 57600 and the older ones which are 38400. The problem is when it doesn't work, I don't know why. How do I troubleshoot further. I make sure that I set the baud of my usb programmer to match and I compile and verify that the speed set in the makefile matches.

Try 115200. I think that's what's being used.

When you say try, do you mean set that in the makefile as the baud rate as well as update the programmer baud rate or just try that speed on the usb port leaving everything else as it is?

I don't know about makefiles.
I was thinking use the IDE with 115200 in the boards.txt file.