I am trying to understand if an MPLS 'hairpin' could occur when the egress PE router strips the VRF label and determines that the next hop is back into the MPLS cloud.
Does the PE re-apply the new labels and forward back along the LSP, or does it drop the packet?
The LFIB/CEF table will determine the forwarding action. Thus, if a VPN label points out a specific interface towards a CE, the packet will be forwarded out that interface by CEF. There will be NO additional IP lookup. You can check this f.e. by doing a traceroute across an MPLS network with ttl-propagation disabled. The outgoing PE will NOT show up in the traceroute.
The only exclusion is the directly connected interface network (PE-CE). In this case you will see an "aggregate" label and no outgoing interface f.e. with "show mpls forwarding-table".
The whole concept is especially important for Central Service VPNs or Hub-and-Spoke VPNs, where you do not want a client to client shortcut by the VRF routing table.
So in short: there are no unwanted hairpins in MPLS.
Hope this helps!