Cuando haces el panel no visible con el sub que dices la página que te llega del postback ya no tiene el panel que hayas puesto no visible, es decir, que el panel (las etiquetas <DIV id="MyDiv"></DIV>) ya no están, no es que tenga la propiedad visible a false, por eso cuando intentas obtener ese div con document.getElementById("MyDiv") te dice que se esperaba un objeto, porque cuando lo busca "MyDiv" no existe.
No sé si me he explicado o te he liado más jeje.
La cuestión es que te recomendaría ocultar y hacer visible el panel siempre por javascript o siempre por código con el sub que comentas, a como mucho hacerlo visible por código pero ocultarlo con javascript.
Saludos