Have you tried using a format that is not DATEFORMAT dependent?
The string '29/12/2011 12:00:00 AM' is probably being interpreted as the 12th day of the 29th month 🙂
For example:
'2011-12-29T00:00:00'
'2011-12-29'
'20111229'
See http://msdn.microsoft.com/en-us/library/ms180878.aspx#StringLiteralDateandTimeFormats
Paul White
SQLPerformance.com
SQLkiwi blog
@SQL_Kiwi