An issue: when click on "apply", the mesh comes back to its original (not modified) state.
The reason is the call to "get_mesh_eval_for_modifier(bmd->object, ctx->flag);" (which retrieves the linked object in line 178), because in the context of "apply" and only in this context, "ob->mesh_evaluated" is null, so no boolean operation is calculated after that.
I was not able to compare the call stacks (the one when the modifier is just calculated and the one when it is applied), as there is too many things I do not know here.



