I'm wondering if anyone can explain what's going on here and possibly find a solution. It's a little hard to explain so I'll just start by explaining how to reproduce the problem.
To reproduce it, start by wiring up two Arduino UNOs as outlined in the
ArduinoISP tutorial page: 
Don't forget to put a 10uF capacitor between GND and RESET on the UNO that you're plugging in to your computer (the bottom one in the diagram on that page). Follow steps 1-7 and burn the bootloader.
After successfully burning the bootloader, open the Blink example sketch and select "Upload using Programmer." The little LED for pin 13 should be blinking away nicely.
Now, unplug both UNOs and set aside the one you were just using as an ISP. Plug the UNO with the newly bootloaded ATmega328P into your computer and try to upload the Blink sketch again. The upload will fail, saying that the programmer is not responding.
Does anyone know why this is? If you burn the bootloader using the ISP but don't upload any sketch using the ISP, you can upload sketches to it directly with no problem.
Sorry if any of this is too confusing, I've spent a good 3 hours troubleshooting my connections here and I'm a bit tired. If you need clarification on anything just let me know.