I've had the same problems with the weights and fixed it in this way:
In bspeval.m between line 45 and 46, I've inserted:
for i=0:d
N(i+1) = N(i+1)*c(4,tmp1+i);
end
N = N / sum(N);
This code applies the weights, but there is still a problem with nrbplot.m, but this is fixed by changing line 101 from
p = nrbeval(nurbs,linspace(0.0,1.0,subd));
to
[p, ggg] = nrbeval(nurbs,linspace(0.0,1.0,subd));
Where ggg is some variable, which isnt used afterwards.
Besides these small errors, this code is great. Maybe there are more error, but this works for me for now.