To expand on this - check_if_proof_proves_x_halts will be working using a certain set of axioms and derivation rules. When you prove that H(FL, FL) doesn't halt, you also use the assumption that check_if_proof_proves_x_halts will definitely return the true answer, which is an assumption that check_if_proof_proves_x_halts doesn't have as an axiom and can't prove. (And the same for ..._x_doesnt_halt.) So H can't use your proof. When it calls check_if_proof_proves_x_doesnt_halt on your proof, that function returns "false" because your proof uses an axiom that that function doesn't believe in.
I'm not super confident about this stuff, but I think this is broadly what's going on.
If it's worth saying, but not worth its own post (even in Discussion), then it goes here.
Notes for future OT posters:
1. Please add the 'open_thread' tag.
2. Check if there is an active Open Thread before posting a new one. (Immediately before; refresh the list-of-threads page before posting.)
3. Open Threads should be posted in Discussion, and not Main.
4. Open Threads should start on Monday, and end on Sunday.