Assuming the programmers who wrote the code did so in a way that conforms to oracle recommendations, then your NLS settings are your primary concern.
If there is code that is run by job control systems like AppWorx or queueing, when you change the TZ you may fire off a large number of processes. Since a lot of that kind of processing has expectations about who runs first, code will break and you can get data corruption as a result. Also, if your job control stuff is in a separate database, then you have to consider how to deal with the TZ there as well.
Bottom line - a TZ change will affect lots of external processes, so get all of your folks together and work out a check list. Do not assume that all of your possible problems are internal to the DB.