You can either:
a) Specify a default language for the login (using sp_defaultlanguage), or
b) use the SET DATEFORMAT accordingly for the session.
The default language on the second server was set to English not British English. I guess British English forces the dateformat to a british date format.
Actually all SQL datetime values are the same, it is the language setting or SET DATEFORMAT that changes the way it translates a datetime to/from text.
For comparison or assignment, always use either the ISO or ODBC canonical formats, and your code will not care which language setting or SET DATEFORMAT has been assigned.
Example: ISO = '20051201' ODBC canonical = '2005-12-01 00:53:23.644'
There are ODBC or OLE DB connection string settings that will translate the date and numeric formats to that of the user's Windows Regional settings.