Do you have both forward and reverse lookup zones set up in your DNS?
If you ping an IP address, then you are going directly to the computer with that IP address to receive an answer (or not).
If you ping -a IPaddress, first the DNS Forward lookup zone is searched to find the hostname assigned that IP address, then you are passed to the computer with that IP address to receive an answer (or not).
If you ping a hostname, the DNS Reverse lookup zone is searched (if LMHOSTS lookup is enabled, the LMHOSTS file is searched first) to determine the assigned IP address, then you are passed to the computer with that IP address to receive an answer (or not).
The problem with LMHOSTS files is that they must reside on each computer. When changes occur in your DNS structure, every LMHOSTS file must be updated. When DNS is properly implemented, their is no need for LMHOSTS files.
NETBIOS names and DNS host names are USUALLY the same.
A DNS Reverse lookup zone consists only of PTR (Pointer) records (other than SOA and NS records). These Pointer records serve only to map hostnames to IP addresses.
As long as a ping originates from within the same zone in which exists, and as long as either a DNS Reverse lookup zone or LMHOSTS files with the required records exist, you will be able to resolve "COMPUTERNAME" to "COMPUTERNAME.mycompany.com".
Hope this solves your problem.