Non c'è bisogno di fare un milione di prove: se con IE funziona e con Firefox no, al 99,99E99% forse è perchè è sbagliata la sintassi . Prova così:

codice:
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Pagina senza titolo</title>

    <script language="javascript" type="text/javascript">
// <!CDATA[
function cal(a1, a2, a3)
{
    alert(a1 + ", " + a2 + ", " + a3);
}


// ]]>
</script>
</head>
<body>
    <form id="form1" runat="server">
        <input type="text" readonly name="txt_data_di_nascita" id="txt_data_di_nascita" class="adm-testo" size="20" value="xyz">
        <input type="button" name="go2" value="calendario" class="adm-testo" onmousedown="cal(document.getElementById('txt_data_di_nascita'), event, 1)">
        cal <a href="#" onclick="cal('txt_data_di_nascita', event, 1);">
            [img]../immagini/favicon.ico[/img]
        </a>
    </form>
</body>
</html>