what your users see, of course is completely controlled by how they're connected to these "drives" and their permissions.
what I imagine you're describing from the server side is a server with one or more volumes mounted as various local drive letters. I'm assuming that on the server the drive letter is actually H:...doesn't have to be, but that's my assumption. within that volume/hard drive you've got a folder called.....something, and that folder has other folders inside of it with the company names. I'm guessing the root folder (named something) is what is shared, and then individual permissions are assigned to the company folders inside of that folder
on the client side, I'm imagining all the users are mapped to that shared folder inside of the root of the drive.
one method would be to map the drives at the client directly to the company folder (i.e. for company 1 map the drive to \\fileserver\H:\company1 instead of \\filesever\H:\). then in explorer the users will just see their company folder opened when they click on the mapped drive letter....of course, a savvy user could always press the directory up button and still get to the root of the share and see the other folders. still couldn't get into them assuming the permissions are right, but they couldn't see them from the default view.
another method would be to move each company folder into their own root folder (or even to the root of the volume/drive itself) and share each company folder directly instead of sharing the root folder that contains them (you should never be sharing the root of the volume to users, and if a folder inside of the root, contains folders that you want to granularly assign sharing permissions to, you shouldn't share that root either...which is what your predecessor did). assign the proper permissions on these folders to restrict access, and then of course, for each company, map them locally accordingly. in this scenario, since each company's individual folder is the root of the share that they have permission to (they don't have permissions to the root container of the shared folders, and they don't have permissions to each other's company folders) even if they press the directory up button, they won't be able to see the other company folders
you'll also probably want to check out access based enumberation http://technet.micro...1(v=ws.10).aspx . basically means any user that doesn't have read rights to a shared folder, can't even see the folder. the advantage here is that if you need to create more granular permissions in the folders contained within the company folders that would obscure data, while still maintaining a single mapped drive structure. like, if company1 folder has a folder inside called "performance reviews" and you only want H.R. staff to see/get into that folder, you just deny everyone but H.R. read permissions and no one else in company1 will even know that folder exists.