If you need to log time in different time zones then why not simply store the timestamps in UTC format? Then you can build the display logic to convert to the current users time zone.
My thoughts exactly. Anytime I see timestamps created from anything other than SYSUTCDATETIME(), or possibly SYSDATETIMEOFFSET() I die a little inside. I have had to deal with cases when during switchover from daylight savings time to standard time, we really didn’t know which of two events happened first, due to lazy (or legacy) use of GETDATE().
Now, If we need to capture the local time where the user interacts with an application, that’s an entirely different issue, but hardly something that should necessarily be solved within SQL Server. Although I suppose you could have the SQL command be tagged with the time it was issued at the client, we don’t know if the user is in the same location as the computer running the client code. These days, with the Web such a dominant platform, it’s quite likely the Web server is in a different time zone from either the user or the database server.
Just because you're right doesn't mean everybody else is wrong.