Cheaper?
It is available sim-free, £430-£500 depending on where you choose to buy it.
>>So I have ended up on O2's sim-only for £20 a month, 600 mins, 1000 texts, unlimited internet.
With that in mind then, it's likely not going to be cheaper going sim-free. £30/month will get you that same contract with the phone for £100 (as a new customer, and going by their HD2 contract prices which will likely be similar / the same for the N900 as the phones cost about the same) or free as a longstanding existing-customer upgrade. The only caveat is the 24 month contract, but you're paying £10 extra for the phone every month, getting you the phone for an effective cost of £340 spread over 2 years as a new customer, or £240 as an upgrade, vs £430 minimum sim-free.
Essentially it's generally only cheaper to go for a sim-free phone and a sim-only contract if you can then get away with only needing the allocations provided by a £10/month or so contract, if you need the extra minutes/free internet and end up paying £20+ anyway, get a cheaper phone to go with it.