Have you tried to stop all backups, and run PDDO Data removal policy, Garbage Collection policy and MB cleanup 2-3 times? The combination should potentially be able to clean up unused/deferenced blocks.
Your tape copy will always remain copy #2, but marked as primary. Expired images (if you wrote right) cannot be seen in Catalog, this is sort of expected. But if you mean that they still are listed, then you have to look at the image cleanup job, and see if it reports errors. If bpdbm cannot expire, then you have an inconsistency. You can enable PDDO logging by altering the pd.conf file (NetBackup\bin\ost-plugins\pd.conf) and uncomment the logging part. This way you can see what pdvfs reports.
SYMC support can also assist, once the images that cannot be expired has been identified, a custom SQL script can be generated to remove references on the PD system. Then a re-run of above PD policies would clean up.
/A