lets look at the details....show us the SQL you are using to identify objects you want to take away access from; that will really let us help you better.
if it is things like views for sysobjects or something like that, that would be an example of a change you cannot make.
from BOL:
http://msdn.microsoft.com/en-us/library/bb669065.aspx
The public Role
The public role is contained in every database, which includes system databases. It cannot be dropped and you cannot add or remove users from it. Permissions granted to the public role are inherited by all other users and roles because they belong to the public role by default. Grant public only the permissions you want all users to have.
Lowell