Como ya te han dicho, si haces document.write, estás eliminando todo el código de la página, <HTML><HEAD><SCRIPT><BODY>, etc, escribiendo sólo el <IMG...>, asi que cuando se dispare su onclick, obviamente no encontrará nada.
La solución es usar, por ejemplo:
Código HTML:
<html>
<head>
<title>Prueba</title>
<script>
function inicio(){
var img=new Image();
img.width=100;
img.height=100;
img.onclick=inicio2;
document.body.appendChild(img);
}
function inicio2(){
alert("funciona");
}
</script>
</head>
<body onload="inicio();">
</body>
</html>