I agree that the substitution system has left a lot to be desired, but every time you try to play some player 48 minutes, you run the risk of this happening. I guess we'll try and code a smarter system at one point in the future, but for now it's just not possible (no resources).
Btw, C was marked as SG probably because he played more minutes in SG than SF.