I believe that this is how Microsoft designed the MDSCHEMA_DIMENSIONS rowset. It is built for use by client applications in order for them to be able to display the metadata that the current user is allowed to see. As such cube dimensions
that have been hidden will not appear in the list at all. In SSAS 2008 this rowset appears to have been extended slightly in that any perspectives that are defined will show the dimensions that they are not using with the visible property set to
FALSE. In SSAS 2005 this view only shows the visible dimensions in the cube and the related partitions. That makes the visible column pretty much redundant in 2005.
Finding out if there are any hidden dimensions is really only possible if you are an administrator. You can either do this through AMO or you could use the ASSP.DiscoverXmlMetadata() call.