I dug into the code a little to figure it out. I didn't realize that RoboResearch just runs Robocode normally using "-nodisplay". That made it easy to debug, because I could just comment out the line that added "-nodisplay" and watch the battle as it ran. The version of Robocode in the lib directory that it is using is 22.214.171.124. For whatever reason, it appears as though the onRoundEnded() event never gets called, which is messing up some of the round data I keep track of. Ultimately, this lead to one of my multi-mode scenarios getting incorrectly activated much more often than it should have been, resulting in low scores. Now I need to either develop a work-around or try to set up RoboResearch to use 126.96.36.199.