It depends (I think) on how you have set up the sub-domain. Many (most?) hosting set-ups would by default assign a sub-domain to a folder in the root directory with the same name, i.e. - if you had a folder under the root directory called 'myfolder', then you would automatically (without setting anything up) refer to it as a sub-domain by calling www.myfolder.mysite.com.
You can also map a sub-domain to any other directory, in which case only you would know the paths.
So if, as it seems, your 'http://gallery.stevejoslin.net' is a (virtual) sub-domain for 'http://stevejoslin.net/gallery/', i.e. your files are actually in a folder called 'gallery' in your root directory, then your paths in any page in that folder to the 'CSSMenuWriter/cssmw/menu.php' would need to begin with '../' (i.e. '../CSSMenuWriter/cssmw/menu.php').
A file that looks for 'thisfolder' assumes that 'thisfolder' is in the same directory as itself.
A file that looks for '../thisfolder' assumes that 'thisfolder' is in a directory one level up from itself.
A file that looks for '../../thisfolder' assumes that 'thisfolder' is in a directory two level up from itself.
And so on.
So if your gallery page is in yoursite.net/gallery/yourgallerypage.php, and your menu files are in yoursite.net/CSSMenuWriter/cssmw/menu.php, then you would need to step back one level from the gallery folder to start on your path to your menu files.
Sorry if this is a ramble; faulty paths are a major cause of problems, especially if you are moving files about.
Not sure if I've explained anything at all, so post back with any questions. Perhaps someone who has implemented sub-domains in their site will post back with more insight.