Another 5minute analysis:
While the table would require user intervention, entries could at least be put in years in advance, since the dates follow a specific rule, so you could compute those and enter them. Problem is, if 5 or 6 years down the road, you forgot to enter the new dates, you've got a problem.
Following that thought, since DST follows a specific rule (in 2006 in the U.S., spring ahead the first Sunday of April and fall back the last Sunday of October), you might be able to code the stored proc to perform the calculations to determine when the specific DST dates would be.
AN alternative would be to create the DST calculation logic in a separate, "seeding" stored proc that would perform the calculations and populate the table referred to previously. This way, the calculations are not performed every time the processing stored proc is run (thereby improving performance). If necessary, you may need to create a table that drives which DSTcalculation rule a specific time zone follows. Though the rules do not change often, it would at least permit updating of the time zones without changing the proc.
Depending on the OSs available, you could create a script that would execute the SQL statements to run the seeding proc, that would run once a month or so it would check to see if any DST dates existed after the current date. If not, it would populate the table. This solution would get around the user intervention aspect.
I had suggested the OS level utilities because, if I recall properly, the C language had some functions that would permit conversion to and from GMT. IF memory serves, Perl is based on C, but I do not know if these functions where carried through to Perl. Problem would be, calling the script from within the routing... I don't know if it is possible to make an external call to a script from within a DBMS, but it may be worth investigating.
Of course, there is always the Custom Server option, but other than knowing it is an option, I can't provide any guidance towards implementing it as a solution.