Neil,
After viewing willybgw's database, it was discovered the database had permissions set on it. The query that was not displaying the table had Admin permissions set on it.
What's the reason you want to hide the tables in query design? If the table is hidden, it doesn't stop the user form viewing or changing the query. They can still see all the table fields by using the field drop down in the query. Do you not want users to be able to view or change the queries in design mode? If so, I can offer you some solutions?