I have seen this problem a lot from Windows -> Linux but I have never seen it in OS X. Since OS X basically follows the same Unix Principles Linux does. Here's what I'd do:
* Media files are always named lower case
* All class files are named with capital letter (Foobar), never with CamelCase (FooBar)... I have found that camel case brings chaos to your code in one shape of form or another. Now Magento really allows for CamelCase and uses it (SalesRule) so this is not a definite rule.
Linux will always differetiate betweem lowercase and any other case so play it safe. Debugging wise, I always try to instatiate the class directly in a test file, you'd get a "exists" or "can't be found" kind of response.