Pues yo tampoco es que sea un hacha en esto de las expresiones regulares, pero pienso que algo así podría funcionar (o algo modificado):
Código PHP:
$cadena2 = preg_replace('/^(^[a-z][A-Z]*)/', $cadena, '');
$primeraLetra = $cadena2{0};
La expresión regular no sé si sería exactamente esa, o alguna variación. La idea es simple: eliminar todos los caracteres desde el principio de la cadena que no sean letras. Entonces, el primer caracter del resultado será la primera letra de la cadena original.
Saludos