Obviously, the game tries to access a non-existing party member (for example, the 4th hero when only 2 heroes are in the party).
I don't know why this happens, but maybe it gives you a hint what the problem might be. Maybe you confused the RPG Maker by rapidly changing the party during battle (or doing it in a bad moment)?
004994D6 030 mov eax, [ebp+var_4]
004994D9 030 mov eax, [eax+24h]
004994DC 030 mov edx, [eax+44h]
004994DF 030 mov eax, ds:LcfgPartyInfo
004994E4 030 mov eax, [eax]
004994E6 030 call GetPartyMember ; Call Procedure
004994EB 030 cmp byte ptr [eax+348h], 0 ; Compare Two Operands
004994F2 030 jnz short loc_004994FF ; Jump if Not Zero (ZF=0)
Because the error occurs at 004994EB, where data from address [eax+348] is read, and the address which is accessed (according to the error message) is 00000348, eax must be 0. GetPartyMember returns the result in eax, so GetPartyMember must have returned 0, which means the requested party member doesn't exist. The RPG Maker developers didn't take that situation into account however - they don't check eax for 0, they just "trust" it to be valid, that's why you get such an ugly error message.