Arduino on the ATMEGA168

I can't tell if I've had this issue the entire time I've been using a 168 or not, but at the moment, in order for the programs i download to the chip to run, I need to briefly plug in the usb cable. I can then unplug it, and after the bootloaders wait time, the program will run. It does this even with the led_blink program, so it has to do with either the bootloader or whatever happens before the bootloader. Both pressing the reset button, or reseting the power will cause it to have this problem. I've tried two different chips, tried all the bootloaders i can find. Tried uisp and avrdude. Anybody have an insight to why this is happening? I'm using the arduino on a robot that is only connected to usb to download, so it's very annoying to have to plug it in every time i want to start it. Fuse settings i'm using are: hfuse 0xDF lfuse 0xFF efuse 0xF8 lock 0xCF