Probastes mi ejemplo completo con el texto de prueba ? si es asi veras que funciona
Entonces, si no te funciona es probable que haya algun caracter adicional (oculto) en tu texto que yo no considere al momento de hacer la funcion aunque [edito], segun la documentacion de ltrim() los eliminaria:
http://www.php.net/manual/es/function.ltrim.php
Te digo como se hizo: se divide el texto en frases por los puntos (se corta ahi)... se capitalizan las frases y se vuelve a unir todo. La cantidad de espacios delante los ignore.
Si hubiera un caracter distinto de espacio ( ) luego del punto (.) ahi ya se va todo al diablo porque intentaria capitalizar ese caracter y no haria nada