part b: possible, but not in one command: there's no command to position all bodies according to where dbp thinks the related objects are, but you can position all of the bodies manually:
function ManualUpdateNewton()
for x = 1 to 65535
if object exist(x) = 1
ndb_buildmatrix object angle x(x),object angle y(x),object angle z(x),object position x(x),object position y(x),object position z(x)
ndb_newtonbodysetmatrixrecursive ndb_getbody(x)
endif
next x
endfunction
This would move the newton bodies to new positions without applying forces (so they won't drift away). of course, I've not actually tested that - but I believe it should work, the bodies may not actually be repositioned until another ndb_newtonupdate statement is hit
Edit: yep clearly not tested -- spelt recursive wrong
but of course, if you don't disable the gravity, they'll fall, and if linked to objects, DBP will be told the objects' new positions and rotations by newton, rendering the above snippet useless as they'll be positioned where they already are.
the other point you made about applying a force (with 'y' of 10) to a body won't always cause the body to move -- it does depend entirely on the mass of the body you apply the force to:
try values of like 100, 1000 or even 10000 -- it may fly away into the air, never to be seen again, but at least it's moving.
If the object hasn't moved when you've reached a y-value of something like 100 billion, perhaps the body has been frozen by newton
Sorry I can't really provide any more info on this - perhaps some people with more experience with newton will know...