This might be a bug...
I have implemented a layout template that includes the "Languages" loop on a multi-lingual site, which displays a language selector for switching to the equivalent page in other languages. It works fine on most pages, but for some reason I don't get the PageID for pages that are marked as "hidden".
The admin wants to be able to easily hide pages from the main menu, but users should still be able to use the language selector - also on "hidden" pages.
I would suggest that you include hidden pages (not "unpublished", but "hide in menu" pages) in the Languages loop and maybe add a value to indicate if the page is hidden or not (true/false). That would make it more useful.