This is actually documented behavior:
"The CHECK clause is parsed but ignored by all storage engines."
From: http://dev.mysql.com/doc/refman/5.5/en/create-table.html
I believe it was left to support certain migrations(?). You can create a trigger instead.
I'm pretty certain many people will consider MySQL a good tool with which they produce good work. While it may have its quirks, it's present on virtually all shared hosting environments, just like PHP, so it's very easy to create and deploy an application powered by both these technologies.