I have a CMS that I've written in ASP.NET. It still needs work and I'm thinking of releasing it as opensource. I'm just not sure how I want to handle this in the future. If I release it now as opensource, can I still release a commercial version? What other ways are there for me to make money on the CMS?
Probably not.
You can dual license your product, but what is the incentive of using the commercial product?
I have yet to see a company make money off of FOSS that wasn't a megacorp that sold support, not software (See RedHat).
Releasing software under an open source license does not prevent you (as the copyright holder) from also selling it to other customers under a different license. If you have an open source version that anybody can download and use, and also negotiate with a big customer for a $100/seat license, that would certainly be acceptable (and congratulations would be in order :).
This is possible only if you write all the code yourself. If you incorporate any other open source software in your product, then you would need to have the cooperation and permission from all other software authors in order to offer a commercial license. For any other nontrivial open source software, this is nearly impossible to do.
There are many reasons to release it under open source, and just as many pitfalls:
Do you think your product is unique and different from all the open source CMS systems that are already available? If so, advertise it. Otherwise it will end up in a pool of zillion other CMS systems not really used.
Do you think other developers will adopt your product and use and/or improve it? How is the attitude of the average ASP.NET developer? My idea is that they are -less- open source minded than the average Java or PHP developer. This shouldn't stop you, but think about it.
What license do you consider? Most open source (GPL v3), least open source (BSD), or something in between?
Do not try to sell your product as a $x/seat product, but as a support contract. You can also ask for a general hourly fee for new features your client wants. Just make sure these features will end up in the open source product.
Good luck!