You raise a point that goes beyond just posting on forums - In the general office situation this is also common: People ask questions without being clear and actually expect you to write their code for them. Worse still, they hold you accountable if it doesn't work. It never ceases to amaze me how people who don't have a clue would sooner spend an entire day trying to get someone else to solve their problem than spend the day doing some research to figure out and understand SQL better (and there is no shortage of fantastic resources: books online, books from Amazon etc.)
In the office situation, I've resorted to giving answers like "You could probably solve this using the DateDiff function, you can read up on how it works in books online" - point someone in the right direction but don't write the code for them. This way they have to figure it out for themselves and be accountable for their solution, and they are far less likely to ask you the same question again in a weeks time.
Its a sad truth that there are people out there who claim to be programmers when all they can do is copy code off the web and don't really understand the fundamentals of programming.
I couldn't agree more with your statement that if you don't take your code / problem seriously, why would anyone else.