I had everything set correctly, too. I have no idea what it was, but these are the steps I followed to fix it:
1. Completely Delete the subweb from IIS
2. Completely Delete the subweb's directory from disk
3. Create a directory for the subweb with a different name that you had before
4. Extract the archive into that directory
5. Re-establish your subweb under IIS
After that, everything worked just fine - I don't know if it's something that I neglected to copy over [?] or just a strange IIS issue.