Great, you've proved that 100% test coverage doesn't mean 0% bugs. The actual question is whether there is a significant difference in reliability in software with 80% test coverage compared to software with 100% coverage.
Agreed. 100% line coverage doesn't mean that all functionality is tested; You don't test the full range of values every variable can take on, all possible throw-catch pairs etc. So the question is if the difference between 80% and 100% line coverage is that big. In fact, I think it can be decieveing to use the term '100%'. Arguably the reability of your program can be increased from 100% line coverage by adding an extra non-tested value check, effectively lowering the coverage.
Yup and also, how about missing code? Even 100% isn't enough :)
at which point we first need to talk about the type of coverage ... tree coverage or line coverage (or something else?)