The parameter for L4D2Direct_GetVSTankToSpawnThisRound should be a team number instead of a round number.
If you try to determine whether the tank will spawn for the current round doing something like L4D2Direct_GetVSTankToSpawnThisRound(GameRules_GetProp("m_bInSecondHalfOfRound")) then you will be looking up the wrong round if the teams are flipped. You need to do something like L4D2Direct_GetVSTankToSpawnThisRound(GameRules_GetProp("m_bAreTeamsFlipped")) to get the correct value for the current round.
I think the other functions that take a roundNumber should also be treated as a team number instead, but I have only tested L4D2Direct_GetVSTankToSpawnThisRound so far.