The note from "cleong at organic dot com" is flat-out wrong. Either he has hardware problems, or his PHP build is broken very very badly.
On our FreeBSD 4.x and 5.x systems, and on our Solaris 2.x systems (7, 8, and 9), we find the following (which is accurate):
1 == strcmp("Z", "AAA")
1 == strcmp("Z", "A")
25 == strcasecmp("Z", "AAA")
25 == strcasecmp("Z", "A")
"Z" will not come before "AAA" -- ever.
str_word_count