Eso es pq $miCodigo lo está cogiendo como un octal...
Y en los octales, PHP ignora a partir del 8... asi pues sería 01, que es 1 xD
Ese es el problema que tienes! Probablemente, la pasarela te devuelva el error como string, no como número, y entonces sí podrás usar (int), o bien $miCodigo directamente...
Por ejemplo
Código PHP:
switch($miCodigo) {
case '0180':
....
break;
}