Hmm, spoke too early. I could've sworn your code was disabling itself if loaded on other mods. Can you please check for L4D/L4D2 and SetFailState if not?
Also, if other game modes e.g. Scavenge is not supported in a way that the mod is simply broken can you please disable it for that gamemode?
Lastly,
Code:
else if (StrEqual(Gamemode, "versus", false))
return GAMEMODE_VERSUS;
Will misdetect versus when the gamemode is teamversus.