sa-learn -u <username> is really only meant for virtual user environments, and probably best used for SQL based bayes configs. The user you are running sa-learn as still needs to have permissions on the bayes files you are working with.
Such a thing even exists? Hmm. It appears I mis-spoke..
It appears that the parameter is not documented in the manpages: http://spamassassin.apache.org/full/3.0.x/dist/doc/sa-learn.html http://spamassassin.apache.org/full/2.6x/dist/doc/sa-learn.html
But is in the sa-learn scripts own "usage" function.. http://spamassassin.apache.org/full/3.0.x/dist/sa-learn.raw
-------------- item -u <username>, --username=<username>
If specified this username will override the username taken from the runtime
environment. You can use this option to specify users in a virtual user
configuration.
--------------
And you are correct, that right there clearly supports your "virtual user" only explanation.