Ahm.. no se si entendí, pero se me ocurre que es por que usas tanto ucfirst() como strtolower().. lo que estas haciendo es convertir toda la cadena a minusculas y luego poner la primera letra de la cadena en mayuscula.. al hacer esto, esta claro que cualquier otra mayuscula que tengas será convertida a minuscula.
Código PHP:
$texto = strip_tags($texto);