>> First you should realize that the code you have will only affect the
>> mdb the next time it is opened.
>
> Do you mean the code you supplied or the existing FE code?
I was referring to your existing code, but in fact it applies to both.
> Also, wouldn't any user be able to create an mdb, put the "re-enable"
> code in a module, run it and gain access to the DB window or am I
> missing something?
Of course. How likely do you think your users are to do this?
You could implement security, and then include the 4th argument in the
CreateProperty line, and set it to true. See
http://www.mvps.org/access/general/gen0040.htm
Then only a member of the Admins Group can set it back.
But then, Access security can be broken, and your users could reset it
anyway.
All you are/can really do is set up barriers. If you require absolute
security, then you shouldn't be using Jet as the backend data store. Use a
server-based system such as SQL Server.

Signature
Joan Wild
Microsoft Access MVP