TurboActivate 3.x is backwards compatible with TurboActivate 2.x activations.
However you can't just replace TurboActivate.dll without also updating the class/header that calls functions in TurboActivate.dll and recompiling your app. For instance, if you're making a C# app then you need to include the new TurboActivate.cs files in your app.
My guess is you just replaced the TurboActivate.dll file without also replacing the header/class file and recompiling your app. That's where the problems are coming from.
Does that make sense?