What timezone is your database and app server in? When you do not include a time I expect the default of 0.000 is used and then that time is converted to GMT you end up the day before. If it is a datetime property then why would you not be including a time when setting the property?
As Celeste points out : If a DateTime object has its Time Component set to midnight (00:00:00) the date component will 'wander' across this boundary when calculating the same Date across different timezones.
And finally (and this I'm a little uncertain of the connotations of this): there appears to be two ways (in general, across different systems/programming languages : not something specific to PRPC) to specify a 'timezone'.
There is the 'geographic' * type ; eg 'Europe/London' and there is the type which specifies a particular timezone for instance 'GMT +1'.
Because most places implement somesort of DayLight Savings; I would say (guess) that a system interpretting a DateTime String which has a 'geographic' type in it; will take any Daylight Savings Adjustments into account.
But if a DateTime String contains a specific zone (say 'GMT') - I would say (guess) that it probably won't (and probably shouldn't?) take any Daylight Savings adjustments into account.
(* I made this term up: it's the best I could come up with; but there is possibly a better way of describing this - dunno)