Modifying legacy database tables that use composite primary keys
Adding new columns to tables might break the legacy app, because DML might be expecting a certain number of columns of certain types in a certain order in each table. 

There aren't really any elegant solutions for this kind of problem. You can make new tables for the new apps and duplicate the data with triggers, but that creates unneccessary complexity and of course duplication. You can make new keys in new tables and use views to present the data to the new apps as one table, but then you're stuck with only using procedures for inserts and updates from the new apps.

In the long run you will probably be better off throwing out the legacy app.