This is my second post on this forum. Alas, I am a long-time user of Alias but just new to this forum. Uh, hello.
Alias does not always have undos for every feature or operation. This can be annoying at first but after many years I have come to terms with it and I find it does not bother me and in fact it has its advatages.
There are many functions which have "history" associated with them. You will be able to distinguish what has history associated with it because it turns a sort of dark hunter green when deselected and light green when selected. For the most part, if you perform a command that has history associated with it, you will not be able to undo it (there may be some exceptions to this, but they don't come to mind). The handy thing is that the item in question, be it a surface or a curve, will maintain its own history and you will be able to come back and access this history for the purpose of modfication at a later stage in development. This is better than the linear approach of "undos" which may cause you to undo many good things in order to get at the one thing you really want to undo.
The actual undo feature mostly works really well with things like transformations. Sure there are other areas where it works well too but a part of your learning curve will be to find out where those areas are. Another thing to note is that if you use a feature (such as a history-generating feature) that does not allow undos, after using features that do allow undos (such as transformations) you will most likely not be able to jump back to a position where you can use those undos. They're gone. You'll just have to live with that.
If you do want to bring operations such as tansformations back to the way they were but you can't use undos, you can always just apply a numerical transformation value that will bring it back to the original state. That is, unless you have zeroed the transformations in which case the transformation history is lost.
Ultimately, if you are about to perform an operation that you are unsure of, or one that may have risky results (such as setting your tolerance on your diagnostic shading too high which may send your machine for a loooong calcultion that results in a crash) make sure to save your file under a different name. I often do this before I zero the transformations on something. Yes you will have many files for each project but it is much better than lost data. Alias files are often not that large anyway (depends - I know). I always save my files with at least 3 padded numbers in the file name. i.e. filename_001, filename_002, filename_003, etc.
Hope this helps.