Hi Mangesh
Since it is a custom event, you got to debug and see the triggering code is passing the necessary data correctly or not. See if it happens for POs which do not have a release strategy assigned to it. There can be N reasons for this intermittent behavior..... so the first point is to check WHY the full key is not being passed to the Workflow .
Can you share the event triggering code.... the full enhancement code and which BADI have you used?
I hope you are not using an explicit commit work while triggering the event (or calling the SAP WAPI function with a DO_COMMIT = 'X' ) in your BADI. It is quite possible that the explicit commit is interfering with the LUW of the whole PO save process and event gets triggered before the PO number is actually saved! ... just check this aspect too.
regards,
Modak