WattsJr,
Just recently encountered and overcome a similar problem.
Here's the heart of the problem: In older reports, there was an option to "Convert Dates To String". (Under Report Options in the designer). For some reports I don't see that option, so I think it's probably not available in new version due to the problem it causes.
If the report has it set to convert dates to string, then you have to put in a string representation of a date in the selection formula.
If the report has it set to convert to date, or not set at all, then you have to use the crystal Date() function as BrianB suggested.
Now, this brings up another problem: After loading a report, how do you see this setting for that report?
In C++ you used to have access to this propery in the document object. I imaging you could in VB too. For the life of me, I can't find it in C#. I think they've retired it along with the setting itself in the designer. This was a huge problem for me.
I found a work around. You have to interrogate the type of the date field as such:
if (crDoc.Database.Tables["yourTable"].Fields["yourdateField"].ValueType == CrystalDecisions.Shared.FieldValueType.StringField)
{ ... use the string format ...}
else
{ ... use the date format ...}
What a pain this all was.
Shabbi, have you tried getting the datetime on an earlier pass, such as WhileReadingRecords or BeforeReadingRecords? Just a suggestion.