Been going around in circles for a couple of hours on this one (and related posts) with none of the suggested answers working.
Then it occured to me that the access for Guest (ACL) was not set to allow guests to login. So they could register and place an order but returning, when they tried to login, they did not have the permission to.
So the solution was ... Global Configuration > Permissions (tab) then selct the user group that new registations are assigned and make sure the action 'Site Login' is set to Allow.
I hope is helpful with anyone else stuggling with this.