in reply to Educational opportunities

While there's little doubt that a CS degree (of any flavour) would bolster your CV, the key thing to weigh up is whether the value of the theory you gain in taking the degree outweighs the "real" experience you're not gaining by not being in work. There are definately things you'll learn on a degree that you'll never pick up doing the job for real, but you many of these can be self taught, and the absences mitigated by seeking out opportunities in your current role to demonstrate "formal" knowledges and skills.

If you want to end up as a programmer, but are currently a web programmer/sysadmin then strive to highlight on your CV elements such as --

any big web coding you've done, whether client-side Java, or server-side CGI
any database-work you've done, maybe your big server-side perl cgi programs are churning SQL queries
make -- always looks good, as a sysadmin you'll probably have done your fair share of picking through dodgy makefiles
performance -- this perl CGI, or that shell script aren't fast enough? Re-implement critical parts of them in C.
team development -- code or projects you've worked on jointly, where your contribution was only part of the whole

These things may not be requirements of your current role, but you can ensure that work you do is as favourable to a software development role as possible. You're not going to magically get a wonderfull development job on the back of things like this, but you have to consider that even if you do go back to uni and get a CS degree, you may well not be as employable as you might think.

I'm in a similar position to you -- 27, making a little under UKP30k, doing a mix of Unix sysadmin and perl programming; my degree was in astrophysics, no formal CS qualifications; the only benefit I have is that my degree is in a numerate discipline, which will sometimes carry more weight.

I've been looking at university degrees, part time distance learning classes -- University of London External programme and the Open University, I'm sure there are similar courses offered in US universities; but I've never considered any CS degrees, the closest I've looked at is an IT MBA. I've been looking at business related degrees -- finance, economics and such, ones that would offer value-add skills to complement my self-taught IT knowledge. I certainly would not consider a full time degree, the benefits are, in my opinion, far too slim -- there's always the risk that returning to uni can be percieved as not being up to working in the real world, definately not the impression you wish to convey!

Good luck with whatever you decide to do, but my advice would be to not return to university, but rather build on the experiences you've already got, teach yourself some of the more formal and theoretical elements of CS, and seek out opportunities in your current roles to advance your SD skills.