OK - turns out this worked due to some command line pushing around of the Grasshopper launch process.
Here is it all tied up in a Python Script:
import rhinoscriptsyntax as rs
#Load Grasshopper with no banner and no editor shown
rs.Command("-Grasshopper B D W L _Enter")
#Add the RCP to the current GH/RHino
import Grasshopper as gh
gh.Instances.ShowRemotePanel()
#Launch the Grasshopper Script Headless with GH Player
rs.Command("-GrasshopperPlayer TEST_rcp.gh _Enter")
The gh file needs to be in the same folder as the python script.
Still a bunch of issues to sort out:
File load/save
How to exit the def
HumanUI buttons are not so stable/usable
Needs some sort of hook on the closing of the HumanUI so you don’t lose your controls/option to save