I too went through this same problem. The date() command uses a unix timestamp. You must convert the date field to a unix timestamp for it to work correctly. OR better yet, let php handle the dates, just save them in mysql as an int field. That way you don't have to convert the damn thing every time you want to use it.
If you aren't sure how to convert it, tell me what the mysql date field is set up as...
Dates stink in mysql!! But it is possible to work with them with some conversions.