What timezones should we use on the server and database?
As long as your PHP and MySQL settings are correctly set (CiviCRM should warn you if they are not), you can set the server time to your preference. Using UTC for the server is probably more convenient on the long term, but it's not a CiviCRM requirement. For example, lets say you are in UTC-8, but next year a new sysadmin joins your team and is in UTC+6, UTC-8 will probably be pretty annoying (CiviCRM servers were initially on PCT time, before being changed to UTC).

The biggest issue with time in CiviCRM is with CiviMail scheduled mailings and with scheduled reminders.

If you are using Drupal or WordPress, CiviCRM should use the user's timezone settings and adjust time inputs/outputs accordingly. Otherwise you will have issues with the mailings not being sent at the right time (from the point of view of the user).

Eileen and Jamie have posted a good wrap-up of this issue here:
https://issues.civicrm.org/jira/browse/CRM-9683?focusedCommentId=67732&amp;page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-67732

There is one detail with the timestamp field type that I do not really understand. i.e. if it's necessary to convert the field so that the fixes already committed work. Hopefully someone else can chime in.