PtarmiganUK - Rooster means actual 'play sand', like kids play in!
Rooster, play sand is cheap and easy to come buy (Tesco does 10kg bags for under £2) and it looks nice. You need to make sure you rinse it until it's clear before putting it in the tank though.
If you don't already have a bucket specifically for your fish tank, now's a good time to get one. Chuck some dry sand in the bucket and run water over it whilst tipping the bucket enough to let the water drain but not the sand. Just swirl it around with your hand and every so often stop and see how quickly the water in your bucket becomes clear. When it becomes clear straight away, it's clean enough.
Oh, you might need to add some water to pour it into the tank otherwise it's bucket and spade time!
Flourite is expensive and as PtarmiganUK says, you could always just use it in a trough where your plants will be. Or you could make little baggies to plant into or even make the flourite into balls and just bury it in the sand like you'd do with fertilizer tablets. Can also use a gravel tidy above it if you feel the need to cover it with sand.
Need to decide before you put the fish in though cos it's much harder to fiddle with the susbtrate then! I should know, I decided to remove the gravel under my sand a few months ago - bad idea!
It is possible to use topsoil, but you really do need to ensure it is covered and doesn't leach minerals etc into the tank. Also, it might get disturbed and make your tank cloudy.
Re: CO2 - if you've seen my thread that's been going on over the past week you'll see I'm definitely not the right person for that question!

)
I'm sure the planted tank guru's will be online later and will be able to help more.
Goodluck,
Ami