If I run the whole client, doesn't that make my computer a full node, and a contributor to the network's security and validity? If so, then that is what I want it to do.
Well, yes you can act as a node, but without hashing power behind that node you really aren't contributing to security or validity. The only thing you would be doing is relaying transactions. Since most nodes still seem "good" and don't selectively rebroadcast transactions, there's really no reason for you to do so.
Every full node enforces the protocol rules upon all of its peers. Therefore, running a full node does contribute to security and validity. Running a full node is a vote for a particular set of protocol rules. By refusing to relay certain blocks and transactions, the node prevents changes in the protocol that the operator disagrees with. By agreeing to relay certain blocks and transactions, the node reinforces protocol requirements that the operator agrees with.
As an example, it is very difficult to get a 0-fee transaction that is larger than 1kb relayed throughout the network right now, because far too many nodes enforce the fee requirement for relaying. Running the most recent version of Bitcoin-Qt is another roadblock for anyone trying to spam the network with large 0-fee transactions. Running a modified version of bitcoin-qt that allows relaying of such transactions can increase the probability of the transaction making it to a miner that would be willing to confirm it.