A me funziona perfettamente:

Codice PHP:
<pre>
<?php

$pattern 
'#^[a-zA-Zàòèéùì]*$#si';

$content 'test';
if (
preg_match($pattern$content)) {
    print(
"{$content} OK\r\n");
} else {
    print(
"{$content} KO\r\n");
}

$content 'tèst';
if (
preg_match($pattern$content)) {
    print(
"{$content} OK\r\n");
} else {
    print(
"{$content} KO\r\n");
}

$content 'test_';
if (
preg_match($pattern$content)) {
    print(
"{$content} OK\r\n");
} else {
    print(
"{$content} KO\r\n");
}

?>
</pre>
Sei sicuro di non stare utilizzando un encoding non supportato dalle funzioni PCRE?