SMF figures this out by checking to see if the function pspell_new() exists - if it does, then SMF assumes it will work on the server, otherwise SMF says it won't.
What does this give you?
<?php
// Show ALL errors, regardless of how minor they might be
error_reporting(E_ALL);
// Open english dictionary
pspell_new('en');
// A bad spelling of "spelled"... This should generate a lot of suggestions
$suggestions = pspell_suggest('spelt');
echo 'Suggestions for "spelt":<br />';
foreach($suggestions AS $a_word)
{
echo $suggestion . '<br />';
}
?>
That should give you an error message, since SMF doesn't think that pspell_new exists...