MSSQL Mixed-Mode Users cant connect unless they are in the server sysadmin role
Thanks for all your comments. I know this thread is pretty old, but I have finally resolved the issue.

The public server role had an endpoint called ConfigMgrEndpoint that had no permission to "Connect". I granted the connect privilege and things started to work for non-sa users.

Under Server Objects>Service Broker I find the ConfigMgrEndpoint.

I have to assume that at one point MS Configuration Manager was being implemented.

I'm not sure how to dis-integrate the service broker end point, and I can't really experiment because this database is in production. Our current plan is to simply deploy an instance of mssql 2012 on a fresh server install and port the database over.

Hopefully someone else gets some benefit from this, as there was never any mention about end points in the articles i read investigating this issue!

Thanks again!