Ho scoperto su un altro forum che il problema nasce dal fatto che non tutte le librerie non sono caricate quando l'user non è loggato, per cui bisogna forzarne il caricamento.
Questo codice include le librerie del calendario e anche il suo CSS necessario per una corretta visualizzazione:
$document =& JFactory::getDocument();
$document->addScript( JURI::base() . '/includes/js/joomla.javascript.js');
$document->addStyleSheet(JURI::root().'/media/system/css/calendar-jos.css');
Questo, invece, è il campo del form e il relativo "tasto" calendario con icona standard:
<input type="text" name="mioInput" id="mioInput" maxlength="20" class="inputbox" onclick="return showCalendar('mioInput', '%Y-%m-%d');" />
<img src="templates/system/images/calendar.png" alt="Data finale" id="showdataf" height="16" width="16" onclick="return showCalendar('mioInput', '%Y-%m-%d');" />
<script language="JavaScript" type="text/javascript"> document.getElementById('mioInput').setAttribute('autocomplete','off'); </script>
Notare che l'attribuzione del tag autocomplete="off" è fatta esternamente con una chiamata javascript perché altrimenti la sintassi non rispetterebbe le regole di XHTML.
Spero possa essere utile.