You can make your move unblockable. You can drastically reduce guarddist on it so 8f you telegraph it the ai is less likely to bl9ck from farther away or you can edit all opponent ai to make block less frequent. Depends what you want to achieve with how the move behaves.
0,0 always sets the palette. You should add it. Shared palette off. Then all character sprites share after that. Good practice to make all your character sprites sequential too rather than char fx char fx setup.
Stage or screen? Screen is very easy. Use backedgedist or frontedgedist.
Stage is slightly harder. I can't recall if there is anything that lets you work out if you've left the stage bounds horizontally. You could base it on a timer which ccounts up the further the root is from the helper. Decent basis for will never see again.
Thats incredibly hard to sort out. Especially when you said simul... you can detect if enemynear(0) or enemynear(1) have targets. You can get the player id from that. Knowing if YOU are their target is basically impossible unless you hardcode ie opponent is clark by x and hes in state blah while i am in state bleh. Even then you can false positive as 801 is a very common throw state and its feasible both characters could be in it at once.
There is a dual redirect trick with cond i think which might let you check enemynear, target, ID = playerid. Haven't looked into that. Little out of the loop.
Re: Character wont crouch and crouch related move also wont trigger.
Hes used either non standard sprites for a custom state. Or those characters don't have the required sprites.
Easy to diagnose. Turn on debug. See if there is a bunch of text saying things like mvc2 character missing required sprite xxxx,x or the like. If thats not happening his custom anim is either terrible or designed with a full game in mind.
Simple to fix still but lets see where the fault is first.