(If you want, skip to the bold text, because i like to explain too much

My company will soon acquire UniDAC licenses. There, we work with Oracle and Sybase.
Before we decide to use the UniDAC, I made some attempts with DBExpress and Oracle, finding that alternative would not be interesting because DBExpress is unidirectional and the effort to convert our systems based on BDE would be too big, since they are simple "client/server" systems and do not use TClientDataSet/TDataSetProvider, only TStoredProc. I know this kind of system architecture is very poor, but they are legacy systems created by people without much experience.
Until then, I did not know that the DBExpress was unidirectional, because I had never used before. When looking for more information on the characteristics of the unidirectional DBExpress, I understood that it would be perfect in my personal project.
My personal project is a classic DataSnap, which uses a WebService as middleware. In my personal project I use ZeosLib (OpenSource), but I found out he has some serious limitations for some DBMS and for this reason I am considering purchasing a license UniDAC. I installed a trial version and am doing the conversion from ZeosLib to UniDAC.
Now I want all my components on the server are unidirectional, so. The component has an option TUniQuery unidirectional, which I set to "True", however, I saw in the help that is needed fetchAll also set the option to "False."
1. Just this is enough for the UniDAC to function just like unidirectional DBExpress?
2. What is the real effect of having unidirectional=True and fetchAll=True?
3. I noticed that the DBExpress when attempting to connect to a DBGrid component TDataSet descendants of an exception was raised saying that the operation is not possible with a unidirectional dataset. With UniDAC I did not notice anything unusual, even when Unidirectional = True. This property really work? In what way?