Enclosing an identifier with >>"<< in MySQL results in an error:
mysql> select * from "Example_Table";
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '"Example_Table"' at line 1
Other database system have an other behavior when not enclosing an identifier:
ORACLE stores the name of an identifier completely in capitalized letters:
Example_Table --> EXAMPLE_TABLE
PostgreSQL stores the name of an identifier completely in not capitalized letters:
Example_Table --> example_table
For both ORACLE and PostgreSQL database system the enclosing character is the SQL-standard >>"<<.
Everything you said only applies to MyISAM if I'm not mistaken.
I don't know if the rules for InnoDB tables are just equally chaotic.
Yes, it's also very surprising for tables using the InnoDB engine, depending on the operating system.
In my example above I've created the table with the default engine (In MySQL 5.5 it's InnoDB). As you can see the error messages it's different for InnoDB engines too due to tablename is stored as file in the filesystem with the same name like the tablename.
You should not set this variable to 0 if you are running MySQL on a system that has case-insensitive file names (such as Windows or Mac OS X). If you set this variable to 0 on such a system and access MyISAM tablenames using different lettercases, index corruption may result. On Windows the default value is 1. On Mac OS X, the default value is 2.
So you should not set this variable to 0 if your operating system is Windows and at least one database has tables with a MyISAM engine.
This confusion is one of many reasons why I prefer PostgreSQL.
But sometimes you must use an existing database system ...