Problem is because of how the work animation is implemented on the model. Automated refinery uses standard work animation practice of looping. The normal refinery has non-looping work animations.
However with a bit of hacking around I present to you the solution.
Code:
<CActorUnit id="Refinery">
<On index="71" Terms="UnitDeathCustomize; Option Model Low" Send="DeathCustomize Low"/>
<On index="72" Terms="AbilTrain.BarracksTrain.Start" Send="Signal DoWork"/>
<On index="73" Terms="AbilTrain.BarracksTrain.Finish" Send="AnimClear Work"/>
<On index="74" Terms="AbilTrain.BarracksTrain.Cancel" Send="AnimClear Work"/>
<On index="75" Terms="ActorCreation" Send="AnimGroupRemove A"/>
<On index="76" Terms="ActorCreation" Send="AnimGroupRemove B"/>
<On index="77" Terms="Signal.*.DoWork; IsStatus WorkVar 0" Send="AnimPlay Work Work,D,00"/>
<On index="78" Terms="Signal.*.DoWork; IsStatus WorkVar 1" Send="AnimPlay Work Work,D,01"/>
<On index="79" Terms="AnimDone.*.Complete; AnimName Work" Send="StatusIncrement WorkVar"/>
<On index="80" Terms="AnimDone.*.Complete; AnimName Work; IsStatus WorkVar 2" Send="StatusSet WorkVar 0"/>
<On index="81" Terms="AnimDone.*.Complete; AnimName Work" Send="Signal DoWork"/>
<On index="82" removed="1"/>
<On index="83" removed="1"/>
<On index="84" removed="1"/>
<Scale value="0.660000"/>
<DeathActorModelLow value="UnitDeathModel"/>
<PlacementModel value="ShapeX2"/>
<PortraitModel value="CivilianBlurredPortrait"/>
<StatusBarOn index="Progress" value="1"/>
</CActorUnit>
Paste this over the Refinery actor entry in your map. To do this open Data editor, go to actor catalog and then enable XML View (either from menus or with hotkey Ctrl + 3). Paste over the current entry (which runs from opening tag to closing tag).
How it works is that it explicitly plays the Word D animation. When any Work D animation expires it plays Work D again. So that it reliably varies which side it uses a Status is kept by the actor. This is incremented after every work animation completion and bounded to have values of only 0 and 1. To prevent action duplication a signal to play work animation is used so that the animation sequence can be started initially when training begins and so that it can be looped once it finishes. In response to the signal it either players variation 0 of the animation or variation 1 depending on what the current status is.
Result is that when training a Marine from it, canisters appear to be constantly loaded into the middle section from both sides in sequence.