If this is a V9 question, then please don’t tag the question with V10 or Cloud tags.
I don’t believe you are going to be able to create a shipment for an item that isn’t in inventory and the purchase order hasn’t been received which will be the case with a Purchase Order Direct scenario. If you don’t want the PO to be Pegged, then why use Purch Ord Direct as the supply code? Just set the supply code to Invent Order, let the PR and PO get created by MRP or other means separately, then you would be able to create the Shipment at order release.
It is a case of do one or the other at Order Release for these two functions.
You should still be able to create the shipment at a later point after the PO is received and the order can see the inventory connection. Without unpegging the PO. Have you tried that?