Hi,
Its seems like you have the CRM machine on different time zone and the client is on another. I hope when you see at the date and manually convert it into GMT, you will see it is storing in the correctly in database.
if it is not the above case, then see if there is a workflow / plugin / Custom Java Script code is overwriting the date value.
Hope this helps.
Thanks, Ranjitsingh R | http://mscrm-developer.blogspot.com/ | MS CRM Consultant