I managed an application which was set up much like the one aTekTipsUser described. However, I never got around to writing a VB program like his to handle front-end update distribution. I wish I had, because his solution sounds great. But, for those unable to develop such a program, I'll describe the process I used and perhaps it will be helpful.
I, too, had an Access FE with an SQL Server BE. The FE was linked to the SQL Server tables, so they appeared much like Access tables as far as FE development was concerned. I distributed a MDE version of the FE. To handle updates, I had a table in the BE where I stored the latest version number. I also embedded the latest version number in a startup form which was opened by the startup options settings. (The embedded version number on the startup form was actually just a label which displayed the version number.) Upon startup, the startup form performed a table relinking to ensure connectivity and to handle those few times I had to change table structure. After the relink process, the startup form would query the SQL Server table for the version number stored there and compare it with the version number embedded in the startup form label. If they did not match, a message was displayed instructing the user to "Refresh" his application and would then close the form and quit the application. The user could not continue without updating his FE. Each workstation had a shortcut to a batch file which, when triggered would copy the MDE I had just uploaded to the server down to the workstation. The user could then restart the app.
aTekTipsUser's system is definitely better, but for the less talented, my system works well.
As for whether the FE should reside on the server or workstation, I would definitely go for the workstation. Not only does it resolve updating issues with being locked by other users, it also greatly reduces FE corruption. Most commonly a single user will blow up the FE some way, somehow. If all users are sharing the same FE, nobody works. Done my way or aTekTipsUser's way, the user just "Refreshes" his copy and he's back in business and, may not even have to call the administrator. Another positive side effect was I never had to concern myself with compacting the FE's. All the user had to do was download another copy (which is why I called it "Refresh"). So, with a little training, the users became quite adapt at downloading and trying a fresh new copy before they called me with a problem - and that usually fixed their complaint.