Pascal's OOP is about as useless as C#'s compared to power of what multiple inheritance + templates give you, not to mention the true Smalltalk-style message passing.
Virtual constructors is not a "feature", it's (just like various additions to C#/Java) is an afterthought patch to a rigid static world. This is very typical for created-in-a-lab languages: they were designed with a average Joe programmer in mind, protecting him from shooting himself in a foot, and later on, to make them less painful to use, were given these "features".
Pascal's came from academia blessed by a traditional and inevitable "kiss of death" preventing it from generating a true massive fan following. Compare that to Unix/C/C++ (or Lisp, Smalltalk, Perl, Python, Ruby, etc) that were created by programmers for programmers.