I'm having a lot of trouble with dates in my Crystal reports. Basically, it insists on thinking that everything is in the US date format. I've tried the following varieties in my stored procedure:

Code:
Declare     @CycleDate      As  SmallDateTime

Select      @CycleDate      =   '12-Jul-2012'

Select      InterfaceDate1  =   @CycleDate
          , InterfaceDate2  =   '12 Jul 2012'
          , InterfaceDate3  =   Convert(VarChar, @CycleDate, 106)
Now, InterfaceDate1 is recognised as a date by Crystal, i.e. if I insert that field into my report, right-click it and choose "Format Object", it gives me all the date formatting options. However, despite the fact it's coming as a date of '12-July-2012', Crystal insists on seeing it as '07-December-2012'.

Crystal recognises that InterfaceDate2 is a VarChar and doesn't give me the date formatting options. It displays properly as '12 Jul 2012'.

Crystal recognises that InterfaceDate3 is a VarChar and doesn't give me the date formatting options. However, despite the fact that it's a VarChar of '12 Jul 2012', it displays it as '07 Dec 2012'.

My regional settings are currently set to "English (UK)". If I set them to "English (US)" the problem goes away, but obviously, being in the UK, I don't want to change my regional settings.

This behaviour is clearly complete bobbins. Does anyone know how to get around it? I'm using the Crystal editor that comes with VS 2008, and the world's oldest Sybase database (v11).

Any help would be greatly appreciated.