Hola,
Ese formulario de upload esta mal. Tienes que especificar un enctype de multipart/form-data en el form, y los datos del fichero los tienes que acceder con el array $_FILES, no con el $_POST.
Supongo que te funcionara porque haces la prueba en local, al no usar el multipart, y accediendo al POST lo que estabas cogiendo es la ruta en el equipo del cliente, y como es la misma que la maquina del servidor, la ruta es valida. Pero es una ruta (C:\loquetesea\imagen.jpg), no una URL, que es lo que tenia que ser.
Revisa
http://www.php.net/manual/en/features.file-upload.php
Saludos.