This is not quite the same as the issue as reported in the other posts, this is how POF works.
When a Date is serialized as POF, it is stored in a TimeStamp format. Which is effectively a Date + nano's precision.
When its deserialized (e.g. a serialized Date/TimeStamp, it always returns a TimeStamp, which is a subclass of java.util.Date and so can be cast to a Date.