I think I know why this is, you have to name your gate using either the namedgate or createidentity script, then use the name that would appear in the dialing computer, not the editor name of the gate object

So, create a gate, and put in the init
[code:1][this,earth] exec "\DSF_SG_DHD\sqs\namedgate.sqs"[/code:1]
then use
[code:1]hiddengates = hiddengates + "earth"[/code:1]
to hide the gate