This is a general pattern in CAS. For a more basic case, it’s not obvious sqrt(square(x)) will simplify to x without any further assumptions on x.
Edit: Fixed stuff.
So no, it’s not unconditionally correct either.
Mathematica returns True. And any middle schooler will also tell you it's true.
The only reasonable interpretation of "infinitely small" is that it's zero.
But consider sqrt(i) = sqrt(exp(i\pi/2)). That's exp(i\pi/4). Your rule would give 1 as the answer. It's not helpful for a serious math system to give that answer to this problem.
When I square 1 I don't get i.
so sqrt(square(-i)) = +-i, one of which is x