Sólo comentar una cosa.
Cuidado con dejarlo en blanco!! action=""
No sé por qué razón, pero yo lo tenía así para un formulario, y esta misma mañana he visto que en IE 10 me hace cosas raras con la url.
Ejemplo: una url tipo miweb.com/es/decoracion/el-nombre-del-producto
En firefox, chrome y safari, todo correcto.
Pero en IE10 me mandaba a miweb.com/es/decoracion/
Se quedaba ahí. No sé por qué razón, pero vale la pena que lo compruebes!
En cuanto a lo de $_SERVER['PHP_SELF'], te recomiendo que mires el código fuente que te genera para ver qué te está poniendo. Es decir, abre la página con un navegador, y dale a ver código fuente, y a ver que te sale en el form action. De todas maneras, puedes usar $_SERVER['REQUEST_URI'] creo que en este caso sería más recomendable. Recuerda que si tienes variables en la url, por ejemplo, php_self las ignorna. Tambien hay otras diferencias que pueden ser la causa del error. Puedes ver el siguiente artículo:
http://php.about.com/od/learnphp/qt/_SERVER_PHP.htm
Saludos