Mir entgeht der Sinn der Übung.
Kleiner Hinweis: Es geht nicht primär um das Anzeigen von Buttons
Ich verstehe schon, dass die Beantwortung der akademischen Frage, wie so ein Problem zu lösen ist, vielleicht in ganz speziellen Konstellationen relevant sein kann - mir fallen aber eigentlich keine Anwendungen dafür ein.
Bei der geschilderten Aufgabe halte ich es jedenfalls nicht für zielführend, ständig Buttons zu zerstören und neu zu erstellen. Es wäre hier meines Erachtens eben wesentlich gescheiter, mit einem Feld von vorher erstellten Buttons zu operieren (oder, falls keine sinnvolle Maximalzahl angegeben werden kann, die Buttons bei Bedarf on the Fly zu erstellen, wenn keine unsichtbaren Buttons mehr in Reserve sind), die je nach Bedarf angezeigt werden oder nicht.