any object name in double-quotes is case sensitive, so "foo" is not the same as FOO. Objects are upper-case by default. Are you sure it's single quotes your using not double quotes?
(actually, all object names are case-sensitive, oracle just uses upper case by default :)
.. in your example [select * from from foo], would be executed as [SELECT * FROM FOO], but the table name is "foo".