This solution seems to overlook the fact that once you've served something, you lose control of it. If the hint's been served, there's probably another way to find it - even just watching the bytes come over the wire.
I may be missing the point - but why not serve up the hint on a separate request? That way if you're offline, you don't get the hint, and if you're online, they can log that you requested it on the server side.