First, look at what you have.
F = sqrt(L^2-(R*(cosd(x)-sind(x).*sind(y))-H).^2)
The sqrt is irrelevant, since you are looking for a zero, but things are simpler if we just drop the sqrt.
F2 = L^2-(R*(cosd(x)-sind(x).*sind(y))-H).^2
Now, look for the solution locus. I'll expand the region to a larger interval in x and y, just to see if you missed anything with the narrow domain.
fimplicit(F2,[-180,180, -180 180])
So real solutions do exist. They appear to be sinusoidal curves. And solutions do exist in the domain you specified.
There is no need to worry about complex solutions. There are very real solutions.
ysol = solve(F2 == 0,y,'returnconditions',true)
So as a function of x, we can find 4 primary solutions for any given x, although for SOME values of x, there may be no real solutions. For example, when x is any integer multiple of 180 degrees, it should be quite clear that no finite solutions can exist, since you would have a divide by zero. And for some values of x, the argument to asin will be greater than 1 or less than -1. In those cases, asin will produce complex results.
Finally, there will be infinitely many solutions, since the solution is a function of an integer parameter k.