Not so true, let me elaborate:

Free Pascal supports atleast 5 dialects (Tp, Fpc, ObjFpc, Delphi, MacPas) maybe more, but I know only these.

Fpc and TP dialects are NOT object oriented, they are old procedural style along with not-hiding pointers etc. Fpc dialect differes in that it allows later non-OOP additions like overloading operators etc.

MacPas is a macintosh original dialect and I know nothing about it since I never even touched a mac

ObjFpc and Delphi dialects ARE BOTH OBJECT ORIENTED. They are VERY common. In fact I bet you could make "auto-translators" for them in one day or so. Let me write the difference I know about:

Both allow CLASSES AND OBJECTS. Both disallow mixing them together(ie assignment) because things like RTTI and VMT are different in them.

Delphi mode is more restrictive for order of methods and variables in classes(members) like for example:

TOne = class
procedure One;
x: integer; // error, this is impossible in delphi and delphi-mode fpc

The above example is valid in objfpc mode.
Delphi mode hides pointers as you sayed. This is NOT some hyper advanced feature. It's actualy a bad practice IMHO because it makes the code not-so-obvious.
Objfpc requires explicit dereferencing.
Delphi mode has limitations when it comes to array handling(perhaps it change IIRC delphi finaly added this functionality as of late). You couldn't make a pointer and use it directly as an array IE:

var
p: Pointer;
p[2]:=something;

This is valid in objfpc mode. ObjFpc also allows things specific for FPC which are not yet in delphi. Global properties, and other funky stuff, operator overloading etc.

To sum it up the difference between ObjFpc and Delphi modes is that ObjFpc mode requires explicit dereference and adds FPC specific addons which are not in Delphi, while in turn Delphi mode is specific for staying compatible to Delphi and it's limitations. ObjFpc mode has limitations too like for example enforcing different names in classes and methods etc.(make your own opinion)
Most important is tho they both are OOP in classes sense.

I myself use ObjFPC mode since I don't plan to touch delphi (I work in FreeBSD/Linux and make things as cross-platform as possible so delphi is not an option)
Using Delphi mode is good if you want to be compatible with delphi + if you don't need one of the more advanced features of free pascal.

Hope this helps