It appears that the java.util.TimeZone implementation in Android is broken (at least in 2.2). For instance
TimeZone denver = TimeZone.getTimeZone ("America/Denver") ; TimeZone phoenix = TimeZone.getTimeZone ("America/Phoenix") ;
Running under the emulate in Eclipse, denver.hasSameRules (phoenix) returns true, and it should return false: both are GMT-7:00 but Phoenix doesn't use dst. I don't have access to any Android devices to test whether this is just a problem with the emulator or not.
Is there an official way to post android bug reports?