There's no class architecture at all for these sorts of commands. There's simply a List<Unit> list for attack targets, and a List<Point> list for movement points, etc. And there's no way to queue repair/transport commands at all at the moment, so those are just properties.
The other game commands, etc, are a single class with a factory-pattern parser handling operations, and that's what I'm moving to for my new partially-complete UnitCommand class, which will replace the above subsystems as the unified command queue. Generally speaking I'm a not a huge fan of doing lots of class/interface inheritance unless there is really a reason to do so. Earlier games I have coded in C# had an individual subclass for every type of enemy and object, and it was a nightmare to maintain. So Alden Ridge, and later AI War, were both implemented with some different design patterns -- there is only one class for all "foreground objects," for instance. This works exceedingly well and is very flexible in most ways.
Times where I feel like inheritance is a must: differing implementations of the same thing. So for example, Alden Ridge used to support two different rendering modes, a GDI mode and a DirectX mode. I had a central IRenderer interface, and then a Direct3DRenderer and a PaintRenderer, both with wildly differing implementations, and that was very successful. I would do the same sort of thing in the future again, given a similar multi-target situation. AI War, even though it is DirectX-only, is still coded from a premise that would make swapping in that sort of thing fairly easily.
In general, I'm a big follower of most OOP principles, but also the higher-level principles of Design Patterns. And so generally I follow whichever design pattern is the most relevant at any given time. Until post-release, I never saw the "future commands" of the individual units as being anything related, just as being discrete properties of "am I doing this?" Not the best way to think of that, but there's going to be chinks in any sufficiently-large design. Generally speaking, AI War is vastly more sensibly designed than that.