Interesting - what is the advantage in not using inverse kinematics?
I'd think with your second level loops with objective functions like you say, you'd be able to get the thing to work for small changes at low speed. At higher speeds, you'd have competing objectives - I think this could explain the vibrations you get at higher speeds? Perhaps also a risk of getting stuck in some local minima/maxima where your robot thinks it can't move to a better position - probably more of a danger with higher degrees of freedom.
The advantage is in reduced computational load on the calculating machine. Not so much for a small number of DoF, but for multi-jointed arms or humanoid robots, or hexapods and similar. If you use inverse kinematics, the computational load grows exponentially with the number of DoF. For cascaded loops, it should be smaller, since computation is local to the loops.
Second level loops need to be slower than first level loops, so that they don't cause conflicting setpoints. It works pretty good in simulations, so I'm thinking the vibrations are probably caused by mechanical deficiencies. Also, they come with increasing the gain of second level loops. Most vibrations die out after reducing the gain.
As for the local minima and being stuck, I haven encountered that problem with 4 or 5 degrees of freedom, or in the 14 dof arm.
I'd think with your second level loops with objective functions like you say, you'd be able to get the thing to work for small changes at low speed. At higher speeds, you'd have competing objectives - I think this could explain the vibrations you get at higher speeds? Perhaps also a risk of getting stuck in some local minima/maxima where your robot thinks it can't move to a better position - probably more of a danger with higher degrees of freedom.