Effetivamente è un po contorto :-(
per modificare via codice un fle .resx, cioe un file di risorse, il procedimento è questo:

XmlDocument loResource = new XmlDocument();
loResource.Load(Server.MapPath("/App_GlobalResources/tuaRisorsa.resx"));

XmlNode loRoot = loResource.SelectSingleNode("root/data[@name='RequiredFields']/value");

if (loRoot != null)
{
loRoot.InnerText = "test";
loResource.Save(Server.MapPath("/App_GlobalResources/TDLResources.de-DE.resx"));
}

Questo perche' i .resx sono in realtà degli xml.