Today I wanted to upgrade to the final version of the 3.0 software since the phone stopped working, stating that the software "has expired and must be upgraded to a newer version". Great, I'll do that! Too bad iTunes on the other hand kept saying that the phone was already up to date…
So I went out on the internets, looking for IPSW files that I could manually feed to iTunes and I found a thread on apple's forums with download links for appropriate firmwares for all three iPhone versions:
After downloading the correct version I got a zip file which, instead of extracting, I renamed to .ipsw.
Finally option-clicking on the restore button in iTunes allowed me to load the firmware from the IPSW file.