Hi all! I found a way to met my requirements but still want to float the original question out here to see whether there is anything which I can do differently.
My current solution is not to use any new output type. Instead, use the 'Change Output' button/function on the PO message screen to generate the changed output record for NEU. However, I believe there will be people who wants to generate a different change output type automatically. In this case, how do we achieve that without generating a output for the 'newly introduced' output type for changed PO? It seems that I have to generate 2 outputs - one for email (under output type NEU) and one for print (under ZPRN) which will go nowhere so that subsequent PO changes made will allow the system to generate the output for the changed PO under output type ZPRN.