I have solved another problem I've been having with Babel. I prefer to use a plugin from here
https://gist.github.com/gadamiak/3812853 that does not require any web server rewrites. It's all done in the plugin.
I found that I needed to change the plugin code in two places. You may need to modify this to reflect your actual MODX and Babel configurations; in my case 'en' was the default cultureKey, and 'web' was the babel.contextDefault. You can even hard-code the values if you like; it's not likely that the default cultureKey and babel.contextDefault are going to get changed. You could also add some settings to the plugin to use in these locations.
Line 114, change the cultureKey to the web context:
if($reqCultureKey == $modx->getOption('cultureKey')) $reqCultureKey = $modx->getOption('babel.contextDefault');
$modx->switchContext($reqCultureKey);
and again, at line 127, change the contextDefault to the web context:
if($contextDefault == $modx->getOption('cultureKey')) $contextDefault = $modx->getOption('babel.contextDefault');
$modx->switchContext($contextDefault);
Another thing to watch for is when you create the context settings. If you're in a subdirectory, as I am on my localhost installation, make sure you have the base_url setting to be /subdir/. I've attached a screenshot of my web context settings.