Q1) is there a way to put a check on such issues.
It is a standard behaviour, don't find any standard way to restrict this behaviour.
You can add a custom code by checking the purchase order item category first & then by passing PO number into MSEG table to find out goods issues which happened with reference to that PO. For the same please check BAdI; MB_MIGO_BADI. So, when user enters the purchase order in MIGO, the custom code check the data entered and displays an error if the document number is invalid.
Q2) is there any other report similar to mb52 but with the work order number so that end user consumes the stock in the same work order.
Please check reports MB51, MBLB and ME2O