Hi Matt,
The PaymentGatewayCustomData is used only as a temporary storage of data and is discarded after payment request is submitted. Keeping it could cause PCI compliance issues when paying with credit card.
As Yehuda mentioned, you can use the OrderCustomData for any data that you want to keep permanently:
ShoppingCartInfoObj.Order.OrderCustomData
ShoppingCartInfoObj.Order.Update();