The difference between QTP 8.2 and 9 versions is Object Repository Configuration and Management
In QTP 8.2
The object repository modes are peraction and shared.
The qtp script can get connected to one repository at one time. If per action, every action of the qtp test script is connected to one repository and if shared then all the actions will be connected to one shared repository.
For shared repository qtp script, upon recording the user activities on aut, the objects will be added to the repository connected.
In QTP 9 version,
The object repository modes are local and shared.
The qtp script can get connected to more than one repository at one time. An action can be assosiated to more than one repository simultaneously. The repositories it connects should be shared(external in read only mode) other than it's own repository (local).
Upon recording the user activities on aut, the objects will be added to the local repository but not the shared as it will be read only mode. There are other minor differences that you can find in the qtp 9 version help. By the way the qtp version 9 approach has created more problems than solutions for those whose framework insists shared repository mode.