I'm helping some fellow Bay Area LEGO User Group builders who want to use an EV3 to power a 9V train. I'm using the NXT to 9V conversion cable (https://www.bricklink.com/v2/catalog/catalogitem.page?P=x1676) with the old 9V metal train track connectors (https://www.bricklink.com/v2/catalog/catalogitem.page?P=5306c01&C=0#T=C&C=0) and the Unregulated Motor (UM) block in EV3=G.
My first test was to have the train travel one second in one direction then one second in the opposite direction in an infinite loop. The results were fine with the train going in the direction that used a negative power in the UM block, but either no motion or shaky motion in the direction that used positive power values.
I tested the track with a multi-meter and verified that the power was only consistent and steady when using the negative power.
On this site I found an interesting answer describing what is probably happening: Using the unregulated motor block and conversion cable to light LEDs But that answer is only partly applicable -- I found that if I put a one second Wait block between power changes, then the power is consistent. But different!
So a power setting of +40% for one second moves the train one track segment, while a power setting of -40% for one second moves the train three track segments. It looks like I can generate a workable program, but I'm curious about why this behavior is happening, and if there will be other surprises.