Solving a block and verification of transactions My understanding of mining is that the reason an award of Bitcoin comes along with the solving of the current block is to give people incentive to actually try to solve the block.  My understanding is also that the reason that it is desirable to have people trying to solve blocks is because this is what makes the network work, that is, the more people using their processing power to verify Bitcoin transactions, the better.

What I don't understand is what hashing has to do with actual transaction verification?  I sort of vaguely have this idea in my head that because of the difficulty of the SHA256 hashing algorithm, if someone finds a hash that solves a block, that must mean they spent a significant amount of time working to find the hash . . . but what does that have to do with spending a significant amount of time working to verify transactions?  What stops people from just hashing but not verifying?  Moreover, if I am correct in assuming that hashing serves no other purpose other than to verify that someone indeed put in a fair amount of work for the network, is there really no other better method to prove this?  Why is something as stupid as just keeping track of how many transactions a person has verified not going to work?
Verifying a transaction is not a difficult process, it is finding a good block hash that makes mining difficult. Furthermore, if a miner verifies a transaction and includes it in the block he is creating, he gets the transaction fee from that transaction. This makes it attractive for miners to verify transactions instead of just looking for a block hash.

The reason why mining is difficult and it needs to be verified that a miner has put a certain amount of work in finding his new block, is for security of the network. If mining were easier, it would be easier for attackers to take control over the block chain.

Also, the Bitcoin protocol tries to achieve a block creation rate of 1 block every 10 minutes. To achieve this, the protocol automatically adjusts the difficulty of finding a block every 2016 blocks. This should be approximately 2 weeks. When these 2016 blocks were found too quickly, the difficulty will rise. Otherwise, it will fall. This makes it possible to predict the supply of bitcoins over time.

So, because we only want one block to be found every 10 minutes, the difficulty has to be proportional to the total amount of work the whole network is doing. This means the more people are mining, the more they help raising the difficulty and help making the network more secure against attacks.

I don't fully understand your last question. But "keeping track of how many transactions a person has verified" would not be a suitable alternative for several reasons. First, as I mentioned above, transaction verifying is not a difficult process, so the amount of verified transactions would not be a good measure of the amount of work you did. Also, in the Bitcoin network, there does not exist such thing as a "person". It is possible to keep track of the IP address of who submits transactions and blocks, but identifying people by their IP address is not a good idea (IP's are not always fixed and multiple users can share an IP). The only other identification method Bitcoin supports are its addresses, but real Bitcoin anonymity requires you to frequently change the address you use, so addresses should not be used as identification. (Although sometimes they are.)

I tried to answer all your questions, if I missed something, just ask me in a comment.