I think instead of it being version specific as previously thought:
It's likely OT gender specific (inverted player gender)? Since player OT is never saved to the data, it means either PID encounter is not version specific.
new EncounterTradePID { Species = 213, Ability = 2, TID = 04336, SID = 00001, OTGender = 0, Gender = 0, IVs = new[] {15,20,15,20,20,20}, PID = 0x000214D7, Level = 20, Location = 130, Moves = new[]{132,117,227,219}, Version = GameVersion.HG },// Kirk's Shuckle
new EncounterTradePID { Species = 213, Ability = 2, TID = 04336, SID = 00001, OTGender = 0, Gender = 1, IVs = new[] {15,20,15,20,20,20}, PID = 0x00020003, Level = 20, Location = 130, Moves = new[]{132,117,227,219}, Version = GameVersion.SS },// Kirk's Shuckle
Try removing the Version restriction at the end, recompile, and it should work?