That's very odd... But it has happened to me as well. Take a look at your ram usage while batch rendering, as it has a tendency to just stop when it hits the limit.
I understand that you are in some trouble with time, so I've made a nasty little hack for you guys. You say single frame renders work? Well, here's a script I've quickly put together for you guys that will render a frame, save it out, render another, etc; therefore bypassing the usage of batch render. One thing to be aware however, is that once it starts, you won't be able to stop it until it finishes, or you force quit the process.
I haven't tested this as I don't have Maya installed on this machine, but it should work without problems.
Open up your script editor, and change the first 4 lines to your requirements.
Filename is used for something like "render.001.jpg"
Camera, is the camera you want to render out of
Start and end frame are self-explanatory.
If you have problems setting this up, just give me your requirements, and I'll do the changes for you.
Edit: The newest version can be found here
string $filename = "render";
string $cameraName = "persp";
int $startFrame = 1;
int $endFrame = 24;
string $directory = (`workspace -q -rd` + "images/");
for ($i = $startFrame; $i <= ($endFrame - $startFrame); $i++)
render -x `getAttr defaultResolution.width` -y `getAttr defaultResolution.height` $cameraName;
string $concatFilename = $directory + $filename + "." + $i;
renderWindowSaveImageCallback ("renderView", $concatFilename, `getAttr defaultRenderGlobals.imageFormat`);
print ("Saved " + $concatFilename + "\n");
print ("Completed rendering of " + ($endFrame - $startFrame) + " frames.\n");
Hope this helps guys.
Imagination is more important than knowledge.