I'm not a programmer, so I'm missing some details here. This is just theory and have not actually implemented this type of solution before.
When you duplicate a revised PO the PO and POLINE table will not copy over the revision rows and the revision is back to 0. What you're describing sounds like something in a single table and a revision is really a duplicated record with a custom field that will increment the duplicated record by 1. The Peer Review ID can not be a unique key in the database as you stated you want the ability to have duplicate Peer Review IDs. That may require a separate field that is the unique key for the table. When you duplicate a record, you can run automation script logic to increment the peer review id by 1, change the status, and anything else you want before the duplicated record is saved.
sshull explains more about duplicating records:
https://www.ibm.com/mysupport/s/question/0D50z000060eTc1CAE/duplicate-service-request-with-some-additional-functionality?language=en_US
As part of your duplication logic, you can increment the revision num by 1 and change the status to your desired status...
https://bportaluri.com/2019/10/automation-scripts-new-save-duplicate.html
#Maximo#SupportMigration#AssetandFacilitiesManagement#Support