Ok, well, the unsatisfactory answer to "how do I ensure my money is well spent" is, do it yourself.
You can look for recommendations from people you trust and you can study track record, but ultimately SEO is about 80% vapour-ware. There are of course guys out there who do a good job, but it`s a risky business.
Let`s say you go for a real defensive approach, tell your SEO guy he only get`s paid when you hit top 10 for a specific set of keywords. Here`s how one SEO company I heard of dealt with just such a contract...
Bank "ABC" told "SEOGuy" to get a top 10 google position for "mortgage deals". SEOGuy knowing he doesn`t get paid unless it happens within a specific period opted for a bunch of generic high visibility SEO stuff and a viral marketing scheme.
The high visibility stuff was to show to ABC, i.e. here`s what we did to boost your rank, but the viral marketing scheme is what really made the difference.
So what did they do? Well, as you`d imagine posting "hey I got a great mortgage deal from ABC" is about as potent as a sneeze in a space suit. But if you post "my ABC mortgage deal is one of the $hittiest ever" (excuse the language) It spreads like the black death!
Within no time, everyone was talking about their horrible experiences too and providing derisory narratives on ABC`s marketing and back-linking to the satirised pages.
The result? ABC got their google rank; SEOGuy got his money. ABC would definitely recommend SEOGuy as his high visibility stuff he showed them seemed to work like magic!
Sorry, I`m not really helping to answer the question here, but it can`t help to know just how much trust is involved in an agreement with an SEO Company and the damage they can inflict!
Double Entry Accounting
The Accounting Equation