It probably compiles now at least, but it still won't look for the higher feats. It will only look for GSF if the character lacks SF (note the *else*). But SF is a prerequisite feat for GSF, unless it's granted by an item, so I believe there would be a problem here...
Either reverse the order of checks or make them increment +2?
(reversed, using else)
int DC = 20;
if (GetHasFeat(FEAT_EPIC_SPELL_FOCUS_TRANSMUTATION, oSelf)) DC += 6;
else if (GetHasFeat(FEAT_GREATER_SPELL_FOCUS_TRANSMUTATION, oSelf)) DC += 4;
else if (GetHasFeat(FEAT_SPELL_FOCUS_TRANSMUTATION, oSelf)) DC += 2;
(incremented, no else statements)
int DC = 20;
if (GetHasFeat(FEAT_SPELL_FOCUS_TRANSMUTATION, oSelf)) DC += 2;
if (GetHasFeat(FEAT_GREATER_SPELL_FOCUS_TRANSMUTATION, oSelf)) DC += 2;
if (GetHasFeat(FEAT_EPIC_SPELL_FOCUS_TRANSMUTATION, oSelf)) DC += 2;