How can I fix an AVRdude not-in-sync error when programming Arduino via USB-to-serial cable?
Whenever I've gotten the 'not in sync' error, it was related to my just missing the reset timing (or forgetting the reset entirely!). For my breadboard, and Eclipse/AVRDude, un-grounding the reset pin just before or at the same time as I click the upload button is the right timing. But also check that your PC really does see the adapter when you plug it in.

Later arduino boards are built to reset whenever a serial connection gets made, and programmatically by the bootloader.  This blog article describes how it works, and even more interestingly, how to hack it onto earlier boards. It shouldn't be too hard to put it on a breadboard if you wanted to.  The chip needs to have a compatible bootloader, of course (which you've already put into yours).  For breadboards, I just do the reset-button / mouse-click dance.