We previously had SSRS 2008R2 running in integrated mode with SharePoint 2010.
I had created a report which pulled date information from an SSAS cube (also 2008R2) to populate the default values for a couple of report parameters. The parameter values are also used in an expression to create the report title (basically, it is getting the last business date loaded into the cube and saying "Report for Tue 11 December 2012" etc.).
All was fine until we upgraded SSRS to 2012. First problem was that the date retrieved (which is a formatted string along the lines of "Tue 11/12/2012") is converted to a date using CDate to populate the parameter default. Before the upgrade it worked fine, after, it decided the string couldn't be converted. That wasn't too much of a problem as I am already stripping the day of week from the date string for another purpose, so I have switched to using the trimmed down version for the conversion.
Where I'm getting stuck, however, is the interpretation of the date to limit the report content and to create the report title. I have the report language set to en-GB, yet it is interpreting the date 11/12/2012 as "12 November 2012" and displaying the data for that day. If I switch the report language to User!Language, it displays "Monday November 12, 2012" - definitely not UK format, even though I have checked the SP servers and my machine and they're all set to UK locale. I have also checked the language setting of IE on my machine and that is en-GB.
To rub salt in the wound, this still works fine in Visual Studio - it is only when deployed to SharePoint that it breaks.
So, how do I persuade SSRS/SharePoint to correctly interpret dates in non-US format and why does this appear to have changed between 2008R2 and 2012?
Thanks,
Nigel