llStringLength delivers number of extended characters which is consistant with its Wiki docs.
llDialog limits are based on the actual number of bytes in the string which can of course be 4x that.
Recommendation: Update the Wiki to warn scripters against using UTF-8 or UTF-16 characters in llDialog messages or at least explain that its not the number of characters but the number of bytes.