but for that the collision system doesn´t seem to be robust enough
it is. there are thousands of working movement scripts around. the simple truth is that your code is wrong somewhere.
my.min_z += floordistance;
modifies the bounding box. i see no sense in this statement at all. try to use c_updatehull instead.
also you should check return from trace being equal to zero, because that means that nothing is hit.
like plenty of people before you you're assuming that the engine is wrong somewhere before looking at your own code. i see why your entity gets stuck on slopes but you haven't asked a question like "why does my movement code get stuck on slopes"? that's my problem. and that is yours. i'd advice you to post a question in the beginner's section or somewhere...
joey.