1. Hashes are non-reversible, a hash cannot be turned into data
2. You can look up the contents of a solved block and see the nonce, since it is a readable part of a block's contents:http://blockexplorer.com/rawblock/000000000000003c74f147f11e68ad5283efbad7796e5774836e75e7ed3340d1
3. Other block content is specific to the pool and constantly changing in blocks, such as the coinbase and the generate payout tx address.
4. It is trivial to determine if you solved a block or produced a valid share - if the hash of the share you are submitting is lower than the target, then it is a block solve. You can alter your mining software to record all shares you submit, the published hash of a solved block will be the same as your submission if you found one.
5. You can alter mining software to record the input data that produced a valid share, and re-hash it to verify it works. A pool will have different criteria than just it is a hash, they need to verify a share is still a valid block solve for the current block, and the coinbase, rollntimestamp is reasonable, and that it is work that was requested of you.
5. What is the problem?