Checks to Verify money sent to any address in a transaction
So you're asking for 3 things: confirmed, valid and that a particular address in a particular txout has received the specified amount.

Confirmed: You've already worked this out.  If getblockcount - blockheight > 0 then the tx has at least 1 confirmation, and so on.

Valid:  Tx are confirmed in two ways:


by validating nodes (full Bitcoin nodes like bitcoin-qt).  Each time a tx is broadcast across full peers, it is validated.
by the network.  This network validation occurs when the network agrees that the block containing the tx is valid, which occurs first time at 1 confirmation and increases in confidence with each additional confirmation.  Being included in a mined block also means that (1) above has occurred at least once (probably much more).


So if you're only considering confirmed Bitcoin transactions, they've already been fully validated by the network and its nodes, so you don't have to do this yourself.  This does not necessarily apply to unconfirmed transactions.

Particular address has received specified amount:  There are rules of thumb here, but to be absolutely sure about this last item, you have to consider the tx script.  Fortunately, all this entails for most transactions is checking for OP_DUP OP_HASH160 &lt;pubKeyHash&gt; OP_EQUALVERIFY OP_CHECKSIG.

This is the relevant part (for you) of the script contained in the scriptPubKey.  As long as it contains this text, you can be sure it's a simple payment in the amount specified to the address specified, regardless of whether it is change or whatever.  

If the scriptPubKey contains something else, then you'll need to actually parse the script to figure out the tx details.  How to do this is beyond the scope of this question.

So in brief, to fulfill all your conditions, you need to wait for 1 confirmation and check for the exact scriptPubKey text shown above, or else be prepared t ofully parse the script in the case of a complex contract.