chown doesn't accept -- to indicate the end of options. For example:
# ls -1
# chown root:wheel -- *.a
chown: --: No such file or directory
The error about -- not existing wasn't expected, as it just means that subsequent arguments aren't options.
I haven't found any other utility which doesn't accept this, so I'm not sure if this is a bug or if it's intentional.
This is not a bug; you're misunderstanding where the -- goes.
-- is used to separate options from positional arguments, but the username or username:groupname parameter to chown is a positional argument and not an option, so it would be
chown -- root:wheel *.a
(you would need this if, for example, the username might start with a - character)
After a positional argument has appeared, then -- is no longer special and becomes just another positional argument, so in your example it's just another file name.