Wenn Du, was Dein Template-Codeauszug evtl. vermuten lässt, dort den gleichen Code einfügst wie in Deinem Plugin, wird das bei aktivem Plugin natürlich zu einer Namenskollision der [FONT=Courier New]small_kalender[/FONT] Funktionen und damit zu einem "weissen Bildschirm" kommen.
In Dein Template gehört nur Aufruf/Ausgabe des Shortcodes wie in #18 beschrieben.
Und generell wg. des o.g. anderen Codevorschlags: In einem Shortcode sollten keine [FONT=Courier New]printf()[/FONT] bzw. schon gar nicht [FONT=Courier New]exit()[/FONT] vorkommen, alle "Ausgaben" erfolgen nicht direkt sondern alleine nur per [FONT=Courier New]return ...;[/FONT] am Ende.