Put the access callback function in a separated file
The access callback has to be in the same file; the file passed in the "file" property gets loaded only if the access callback returns TRUE. The only other "solution" is to use an include at the top of your module.