In my opinion, the use of timestamps for the representation of dates in Drupal core is problematic. It is fine for recording all events that happen now, and it is even fine for recording historical events, as long as they happened 1970 or later. They are utterly useless if you want to make a geneology site.
More disturbingly, the event module also relies on timestamps for representation of events. As far as I can tell, this is a huge limitation. The CCK date field uses the ISO 8601 standard which saves times as as string: 20060610T20:47:48+01:00. While there are lots of arguments about how the data should be persisted in the database, to me, it is clear that the ISO 8601 string is ideal for representing the date in Drupal code (unless you're doing archeology, then I've got no idea what you do with BC dates).
So the event module has a set of private functions (all those that start with _) that are really useful for getting bits and pieces of dates all packaged up with the appropriate time zone offsets and so forth. The functions would be ideal candidates for a date.inc file to be included in core, in my opinion, except that they use timestamps that have the 1970 limitation and not something more flexible, like ISO 8601.
I've been working on a datewidgets module for CCK to finally allow a sane interface for the date fields, and I see that as long as Drupal uses timestamps, there will be the need to convert.
Is it time to move away from timestamp?