You don't seem convinced on the transistor bistable idea?
I simulated it again in LTSpice and it too said that all of the transistors will turn on when power is first applied, even if the gains are different but the higher gain transistors do have higher currents, as I'd expect. In real life I'd imagine that the transistors carrying the highest current would heat up, causing them to conduct more, leading to a safe, stable state with the motor running in either one direction or the other but as I've not built the circuit I wouldn't put it to chance, it's possible all the transistors will meltdown.
Fortunately, there's a very simple solution: connect a small capacitor across one of the bottom transistors to ensure the motor always starts in one direction only; this is probably desirable anyway so I'd strongly recommend it, so much so, I've added it to the original schematic.
An IC flip-flop would probably be safer in that it's been proven to work, although it's a lot of extra parts, especially as this is running from 12V so a regulator is required.
I'd suggest trying my idea with a dummy load resistor, try 220R, and temporarily put a resistor in series with the whole circuit to protect the transistor, if the worst happens, try 15R. Then when you've got it working, replace the dummy load with the motor and remove the series resistor and replace with a 500mA fuse, yes it's always a good idea to fuse circuits like this.
EDIT:
I forgot to say, I simulated it with Crocodile Technology (a kid's program) beofore. I'd say that as it now works perfectly with two simulators, it seems pretty convincing.