Ich denke, da wird Dir nicht viel anderes übrig bleiben, als z.B. beim Start des Programmes nachzugucken, ob die aktuelle Datei vom vorherigen Monat ist, und wenn ja, dann die selber zu löschen.
Die Sache mit dem Monatsende macht Dir nämlich genau dann einen Strich durch die Rechung, wenn der User am 29.0x. in urlaub fährt und z.B. am 07.0y. wieder zurück kommt. => Kein Monatsende, ergo keine Löschung.
Deswegen speicher in der Datei lieber ab, von welchem Monat sie ist, vergleiche das mit dem aktuellem und dann behältst Du sie eben oder weg damit