I've studied these c.p. components a bit; to me, the main weak point of these systems is:
No matter how genius the encryption or protection method is, there is always the moment you have (for example) :
[pascal]
if ValidationSucceeded = False Then Application.Terminate;
[/pascal]
Or
[pascal]
if ValidationSucceeded = False Then Begin
writeln ('Please buy the product');
End;

[/pascal]

Yousee? This is easy to hack.