Auto-translated
Regarding the quick battle feature: I reviewed the checks for its activation, and the only significant thing I noticed that hadn't been noticed before is the flawed resurrection of phoenixes.
The varying results are indeed related to the organization of randomness.
Before a battle, the seed is set to a number that depends on the coordinates of the cell, so, in theory, the battle should be the same each time it's replayed.
However, two random functions are used in the battle. The first one works only with the seed and is used almost everywhere. The second one is used only to determine the timing of the monsters' animations and works differently: in single-player mode, it works with the seed, but in online mode, it works with the current time (which is why, by the way, in single-player mode, you can theoretically time it to trigger morale, but you can't in online mode).
In the quick battle, the second function is never called, so the battle will always proceed in the same way. In auto-battle, the second function is called, so the results of the battle will depend on its duration in real time, etc.
If you press Q quickly (before any of the units have a chance to animate), the second function will not be called, so the result will also always be the same. But it will be different from the quick battle, because in the quick battle, the random number generation for selecting the music before the battle is not called, and the sequence of random numbers is shifted.
If you don't press Q immediately, the second function will be called several times, and the result of the battle will depend on the number of animations that have occurred.