In the Cyrus SASL sources you'll find a subdirectory named
"sample". Run make there, "su" to the user postfix (or
whatever your
mail_owner directive is set to):
% su postfix
then run the resulting sample server and client in separate
terminals. Strace / ktrace / truss the server to see what makes
it unhappy, and fix the problem. Repeat the previous step until
you can successfully authenticate with the sample client. Only
then get back to Postfix.