I agree on your post garths, but sometimes it's unavoidable to use access.
If a small company with say 5 or 10 employees wants to have a DB, it's a big investment to purchase an 'enterprise DB' and develop something for it.
While access is pretty cheap, easy to manage and it's easy to write a program for it.

Even though you are absolutly right with your point, in some cases it's unavoidable. On the other hand, if that same company has grown to 100 employees it might be looking for another DB. In that case if the code is made transferrable, it isn't that hard to change in a later stage from Access to let's say SQLserver or Oracle. So the company is spreading it's investments over a period of a couple of years.