The reason is simple, db2 keeps lot of information at the column level and any changes will invalidate and inoperative that other objects.
Infact , in oracle until 9i release 2 they have no command of renaming the column and the reason at the oracle is that it keeps that information at the block level(not by name) and the same I think is for db2 at the page level
regards,
mujeeb