Okay, going to catch up with heaps of replies, right back to post 359.
Roland:
1. The actual method used is close to what you describe, but here it is fully detailed:
a. Attacker stack broken into 4 lines (air, bombard, ranged, melee + flanking). Note, as of 1.01 which'll be out soon that non-combat units (worker, settler, GP's) will sit on the bombard line.
b. Defender stack broken into 4 lines.
c. Missile units of attacker airstrike the defending stack.
d. Units on both sides go through a shuffler which fills any gaps between units to properly form the armies up.
-- END OF SETUP PHASE --
e. Defender airstrikes: dog fights with attacking air units occurs first and if defender gets through it's a airstrike against a selected unit (chosen from backline to frontline).
f. Defender bombards: defender bombard units get a single free shot at the attackers. Unit selected from the area in front of the bombard unit (reality = actual rank +- 2 ranks each side) working from backline to frontline.
g. Defender arrows: defender ranged units get a single free shot at the attackers. Unit selected calculated the same as bombard units above, except preference given to attacker ranged units.
-- END OF DEFENSE PHASE --
h. Attacker airstrikes: air units perform dogfights with remaining defending air units first, then select a defending ground unit based on same area search as defense uses.
i. Attacker bombards: attacking bombard unit will firstly search for a bombard or ranged in the area in front of it and perform counter-battery fire first with preference to defending bombard units. This is a full combat with a winner and loser. If no CB unit found a single strike at defending melee/flank units will occur (this could result in a "miss").
j. Attacker arrows: attacking ranged unit will perform the same function as the bombard units except preference given to defending arrows first. If none found a single strike at the defending frontline will occur (this could result in a "miss").
k. Attacker melee: attacking frontline troops will line up against the defending unit facing it (could be in the 2nd, 3rd or 4th row of the defenders) and perform a standard melee combat (the old vanilla civ4 style). There will be a winner and a loser (or a withdrawer).
l. Any surviving units are retained in their original plot, or if no defenders remain the attacking stack moves if possible.
As you can see, the actual process is not a many-vs-many conflict, but a many-vs-one conflict. One single defender could be bombarded, ranged and meleed in the one battle. This mod is a wrapper of the original 1-vs-1 method. It still uses the vanilla method, but is almost how CTP2 performs combat.
2. As seen from above process, withdraws are calculated during attacker melee on a per unit basis. Standard vanilla withdraw method used (including promotions).
3. Sort of. Depends on the makeup of the attacking forces. 1 defender could be hit by bombarders, ranged and melee units. The only restriction is that only ONE melee combat will occur for each defender. This is unfortunately a limitation of the graphics engine and how it works.

I'd love it to be multiple melee battles for 1 defender.
4. As explained above, there's only one combat round (broken into different phases). Originally the mod was multiple rounds resulting in one stack being destroyed and one surviving, but the call was for survivors possible from both sides, hence why it was changed.

5. Each unit looks to the area "in front of it". It will select an opponent based on what phase of the battle it is in, and possible targets. In reality the area in front of a unit is the column it is in plus the 2 columns either side of it (total 5 columns). If there's nothing directly in front of it, it looks in the other columns of its area. Thus proper area tactical combat was achieved.

EG: an attacking catapult looks through its combat area. The catapult is in rank 3, column 4 so its combat area is columns 2-6. It will select an opponent based on phase. In the bombard phase it will look for CB units first with preference to bombard units then ranged units. If none in any of the columns it looks for a frontline unit to strike. Hope that helps to clear that up.

6. Both are correct. When attacking melee units are marching forward the defending ranged can fire. But when no defending ranged units exist the attacker gains the benefit of the charge through standard civ4 bonuses.
7. Yes. First strikes are still used. Especially during CB fire and melee combat. While not as important for bombard or ranged, it's critical for melee. So promos for bombards ranged should focus on accuracy and bombardment (collatoral still used in field/city bombardment).
8. Correct.
9. Defenders cannot withdraw. They are still only.... defenders.

Standard rules apply in this regard.
Immacolata:
Tanks are flanking units. They will target defending backline troops first (if they can breakthrough the defending frontline). This will decimate the enemy arty as they retain their first strikes over the defending arty. Blitzkreig is still reliant on breaking through the enemy lines first.
WRL:
Old saves will not work with this mod as I changed the save format for the extra variables stored. New games have to be started.

It's possible to have arrow units as ranged, haven't tried it, but it could work. That won't be in this mod, but I'd like to see it done by someone.
Counter-battery fire is only during stack combat. Field bombard does not have CB fire. You can do that manually if you want.

With the bombard mission, you did the correct thing. Replace the existing one, not add.
For your galley try giving it some withdraw prob: < iWithdrawalProb >0< /iWithdrawalProb >
Or change to UNITCOMBAT_SIEGE: < Combat >UNITCOMBAT_NAVAL< /Combat >
smooth operator:
Other mod makers will have to intergrate it into their mods. With all the required XML changes it's best to hassle them to do it if you're unsure how to edit the XML files.
Dale