You're correct in the fact that they would only see mycompany and not mycompany.local, unless they login using a UPN, in which case they would login as username@mycompany.local
Because of group policies that I have setup, the previous login is not displayed. Therefore the default login is LOCAL PC. Because of this, most of my users login with a UPN. My goal is to shorten the amount of typing for the users at login. If they don't have to type in .local, why make them? I've setup a test domain and server with no extension on the domain name and the users would be able to login as username@mycompany. So far, (in the test environment), I don't have any problems. But my test server is very minimal and is only being used as a DC.
You mentioned "basically, you need an extension on your domain name". Why is this needed?