Naselus,
The problem is far deeper than that the resources are defined as enum in StrategicResourceTypes.xsd. They are hardcoded and are hardlinked to the hardcoded values for their companioning cost enums (eg DurantiumCost and DurantiumNet) in StatTypes.xsd.
To allow for custom resources, SD will have to alter the structure of several xml entities. All entities that reference StrategicResourceTypes should be changed to a xs:string, all entities that reference StatTypes (and there are a lot of them) should be changed to support a compound entity instead of a single enum entity.
For example: the StatTypes for DurantionCost (in ShipComponentDefs.xml) is currently like this:
<Stats>
<EffectType>DurantiumCost</EffectType>
<Target>
<TargetType>Ship</TargetType>
</Target>
<BonusType>Flat</BonusType>
<Value>1</Value>
</Stats>
To support custom resources it should become something like this:
<Stats>
<EffectClass>
<EffectType>ResourceCost</EffectType>
<EffectResourse>Durantium</EffectResource>
</EffectClass>
<Target>
<TargetType>Ship</TargetType>
</Target>
<BonusType>Flat</BonusType>
<Value>1</Value>
</Stats>
But because SD uses a simple XSD schema enforcement this would also mean that all StatTypes everywhere that don't use a resource still need to be encapsulated in a dummy <EffectClass> entity (but without the EffectResource member).
Or you can merge all the Resource Cost from StatTypes.xsd into one enum and extend whatever xml entity that can reference a resource cost StatType with an (optional) xml (xs:string) field that names the resource. Something like this:
<Stats>
<EffectType>ResourceCost</EffectType>
<RequiredResourse>Durantium</RequiredResource>
<Target>
<TargetType>Ship</TargetType>
</Target>
<BonusType>Flat</BonusType>
<Value>1</Value>
</Stats>
Because of the ways the GC3 xml engine seems to process the files the first version will give an error when an error is present in the xml files. But this is the most work. The second version is the least work. However that version might parse invalid xml files as correct resulting in mysterious crashes and hangs.