Well, I'm still not really sure what you're trying to do here - you have a "scan" of an original object, you make a mesh from it and then...
You say it needs to be slightly smaller than the original - it appears that you want to create an outline smaller than the original extents and trim the excess of the model off with that outline. The problem is then that the edges are no longer at Z0 (I assume the original edges were) as the trimming cuts the edges back from the original and so they have a certain Z height.
What I might do is the following - depending on how coarse or fine your mesh is:
Don't do the drape. Work instead on the mesh itself. Use Rhino's MeshTrim to trim off the edges with the curve. Turn on control points for the trimmed mesh, select all the controlpoints on the outer edge and then use the command SetPt to set all the Z levels of those points to 0. The result will be that the edge of your mesh object is now at Z0 as you want, but depending on the mesh, the transitions may not be that nice...
Otherwise, it's very difficult to get an arbitrary freeform trimmed NURBS surface to have a trim border that passes through specific points - only untrimmed surfaces can be made to do that. That's not a Rhino limitation, it's a NURBS one.
Other tactics you can try: trim the surface back further than you want by a certain amount and then useBlendSrf to blend between your trimmed surface and the curve where you want it to finish at 0 (you may need to create a dummy surface to blend to). Or, try using Patch to patch through your original scan points and the outer edge curve - it may get close enough to 0 at the edge to be satisfactory.