Typically in an OO design, you keep all calls (external or not) in the class in which it's relevant. Having one big monolithic file to handle things like violates this principle and creates artificial dependencies that could potentially bite you later.
I'm not sure what you mean by one file. If you mean the source, a BlitzMax module is in one root folder, but it can have any number of source files in it, and indeed any number of folders off that root. If you mean the object, you don't have to have one big module compiling to one big chunk of object data. Modules can import other modules, so you can break the modules down into as little or as much as makes sense in any one module. This can even be built into a hierarchy, so you could have a game engine module which consists of several other modules, one of which is a 3d module, which itself consists of a camera module, a mesh module, a shader module, etc.