Are you saying
solvemoment(Constraints,Objective)
gave you numerical problems, and then you changed that to
solvemoment([Constraints,Objective<=value])
and the numerical problems remained, but when you checked the solution, the solution was actually feasible?
It is not too surprising. Semidefinite programming is tricky, and solvers often run into issues. That is exactly the reason why you always should check the solution to see if it is acceptable.
Semidefinite programs that arise in relaxations can easily lead to large numerically challenging problems. Consider the following small problem
sdpvar x y
C = [x >= 0, y >= 0, x*y >= 1]
solvemoment(C,y,[],4)
SDPT3 ends up with unknown error (but a feasible (poor) solution with y = .22) and SeDuMi ends with numerical problems, but also a feasible solution with y = .12 (all solvers I tried failed to compute a reasonably good solution)
The problem is most likely the fact that the problem does not have a minimizer, but only an infimizer, i.e., the optimal solution is y=0 and x=inf. Hence, the solver problably gets in a situation where it can make massive steps in some variables related to x, but almost no step in y. I would not be surprised if the numerical conditioning would be poor then, causing the solver to bail out.
Of course, the problem can be solved directly without a relaxation
solvesdp([x 1;1 y] >= 0,y)
and it is actually solved (i.e., returning a very small y) rather easily despite the unbounded region and lack of minimizer. Just wanted to point out that you easily can construct examples where most solvers fail