Bueno, una cutrería, pero que te puede venir bien es:
Código PHP:
function pasarMayusculas($cadena) {
$cadena = strtoupper($cadena);
$cadena = str_replace("á", "Á", $cadena);
$cadena = str_replace("é", "É", $cadena);
$cadena = str_replace("í", "Í", $cadena);
$cadena = str_replace("ó", "Ó", $cadena);
$cadena = str_replace("ú", "Ú", $cadena);
return ($cadena);
}
Y llamarla cuando lo necesites, aunque es bastante raro, porque yo he usado strtoupper mil veces y funciona correctamente.