My guess would be that because your browser is technically online (the server is down/offline) it is treating the failure to retrieve the manifest as an error.
And as such it is triggering the obsolete
event and deleting the current application cache as per the spec (look at the "Dispatched when..." column for the obsolete event)
So, the appcache is probably working -- or if not, this is not the reason -- this is symptom of your testing being flawed.
Btw, I did the exact same thing - it's annoying not being able to test how your application will fair until in a production/external environment. So be prepared to push your app and realise you missed a resource from the manifest! :)