I have no starforce experience to brag about, but with the Safedisc API, its actually a developer library integrated into the protected game exe. The devs then encrypt some game values, and pass them on to the library, which then decrypts them.
Example:
mov eax, 0FBA70441h
mov edx, 059013221h
push eax
push edx
call SDAPI_routine
...goes into safedisc dlls, calculations....
Return values:
EAX = 0173B49Bh <- pointer to some string in .data
ECX & EDX have junk values that are discarded.... but EAX is later used in the game to load string and stuff like that.
Problems arise when its called 100's of time repeatedly :P And when its badly integrated it can come to a major slowdown in the game I imagine.
However, its very easy to crack these days since the devs sometimes forget to remove the original library from the exe... so all you have to do is decrypt some tables, reroute execution to the original library code, and you have a nice little unwrapped exe
Other times its a bitch to crack. /me points to Black & White 2 v1.0