Any sights using an artificial horizon of the kind you describe need to be halved. This is because you're measuring from the real object down to the horizon + from the horizon down to the reflection of the object. Those angles are the same, so the total angle is twice either of them.
As for your sight last night, let me guess: you did your sight around 9:45pm?
One way to check your sights is by looking up the altitude you should get in the Sight Reduction Tables (
Maritime Safety Information). They're a little tricky to use. To check your sight, I went to the Latitude=49°/Declination 0-14° contrary name table (contrary name because we are N and the moon is S 2°). At meridian passage, the moon's LHA is 0, so find 0 in the left-hand column, and look for what it says in the Declination column (2°) in your case.
There I see:
Hc = 39°00', d = -60', Z = 180°.
The d is for interpolating, which we'll just skip for now. Z is the azimuth angle, which in this case is the azimuth. Hc is the altitude you should get if you're at the given latitude and the body's LHA and Dec are what you used to index the table. However, you saw a much smaller altitude, around 31°. Assuming you read your sextant correctly, and didn't make a mistake with the arithmetic, you probably didn't shoot the moon when it was on the meridian.
According to the same table, the moon's altitude was around 31.5° some time when its LHA was +/- 33°, i.e. GHA = 90° or 156°, which (according to the almanac), should have happened roughly around 21:45 last night and 02:00 this morning. The moon's meridian passage, on the other hand, happened when its GHA equaled our longitude, a bit after midnight (which makes sense for a full moon).
Had you gotten an altitude of 39°, the zenith distance would be 51°, and since Lat = ZD + Dec at meridian passage, we get 51°-2°, which is just about right for our latitude.
So the issue here is that there are basically two kinds of celestial navigation with a sextant (that I know about): meridian passage and LOP or intercept method. The meridian passage can be done without a chart but requires knowing the altitude when the body is due south. The intercept method works regardless of the body's position in the sky, but requires drawing LOPs on a chart.
The meridian passage method can be done entirely in your head, or with a little bit of paper arithmetic for a more accurate answer. You shoot the object and note the time. Subtract the altitude you got from 90 to get its zenith distance. Look up the object's declination in the almanac and add that to the zenith distance to get your latitude.
The reason this works is that, when the object is on the meridian, the north star, the body, and the zenith are all lined up. If you know the angular distance between any two, therefore, you can get the third. In general, this is not the case: the three points will form a triangle on the sky, in which case all bets are off. You can't just add angular distances anymore: you need trigonometry. So I'm guessing you tried to use that method, but when it was not applicable.