It works for me! on my machine and my web host (both Linux). ie. index.php would be found if it's in the same directory in both cases.
in unix ./index.php reads '.' which is a listing of files in the directory and associated inodes (... or something like that) and locates up the file from the listing
In your case...although the file descriptions are essentially the same thing they are being read and intrepretted in a different way.
Perhaps its something like the "URL fopen wrappers" setting at :
http://php3.de/manual/en/print/function.include.php
with the './' version, apache is using the local pathname. With the filename only version it is being interpretted as a URL which is not allowed on your server (probably a good thing to allow includes from URL's for security). I am way out of my depth but there may be a default include directory for your hosted setup, in which case if you create/use this directory it might just work.
If you have access to the server put your includes in the include directory
see yelvington's comment
in unix it is (according to experts) always better to refer to files with ./ . If someone would like to give a link/explanation of all the issues I for one would be extremely interested.
I couldn't find anything straight away at this resource:
http://php3.de/manual/en/print/ref.filesystem.phpe functions:
i hope this isn't completely useless.