Reality is not exactly like that.
There's an average table, yes, but only used for relegation purposes [ (current season points + previous season points) / (current season matches played + previous season matches played).
Then, theres Apertura, Intermedio and Clausura. The sum of those three is the Annual Table.
Apertura winner, Clausura winner and Annual table winner battles for the championship.
Regarding the bug reported, I haven't tested it.
Would be great if you can provide a savegame before the season ends, specially before Clausura winners gets determined.