That is due to the fact that Arduino processes the .ino/.pde files to add forward references (and any other processing it does), and it doesn't understand #ifdef. Files in the library with .cpp...