I tried changing the order of the children for Octave 3.0.5 and 3.2.3, but the
rendered result did not change.
Changing the order for the current developers sources does work.
I'm not able to check 3.2.4 at the moment. But you can try ...
set (gca, 'children', flipud (get (gca, 'children'))
Did not work for me on 3.2.4 (now linux)
\> plot([0 1],[0 1],'linewidth',5,'color','r'); hold on;
\> plot([1 0],[0 1],'linewidth',5,'color','g')
\> set (gca, 'children', flipud (get (gca, 'children')) )
error: set: new children must be a permutation of existing children