what do you mean when you say the result doesn't fit the surface?
if it just doesn't look right on your display, one thing you have to remember is that the tesselation of nurbs in a viewport doesn't necessarily reflect the actual geometry... try rendering it to see if it did what you wanted it to, and if you don't like looking at a messed up version you can always open the atribute editor for the item in question and check the 'display render tesselation' button under the tesselation options tab.
at the same time, if you didn't get the result you were hoping for at all, you can try creating a nurbs circle of the size you want the hole to be. select the circle and then the object you want the hole in, and choose 'project curve onto surface'. after that, just do a trim.
maybe a screenshot might help us give you a more accurate solution to your problem *shrug*
Accept no substitutions.