How do you know that this is how it calculates damage?
All information I have comes from the strategy book,
this one.
The author, Markus Betz, has done many strategy books for strategy games
see here, he is especially affiliated with the settlers team.
The book has the subtitle "the official strategy book" and inside the book Betz claims he has been with Joymania for some development time and he has been told all the game's mechanics.
He then presents the battle system as cited above and values on how many production building of each production type you need to get a perfect economy.
For myself I can confirm that his tips are golden. I was stuck in lvl 8 and didn't pass until I got this book as a gift. So I trust the information presented in the book.
I suppose all the D and L values for each unit are found in that book?
And did you read anything about regeneration?
This stands in the book. It also stands in the manual as stated above (OK, the barbarian can't be found in the TSK manual)
But I wonder why you don't know these values? Those are hardcoded in the units.dat which is already well-known. I know a tool by Merchator who makes this values visible.
See, with my notation:

H = 3
A = 0.55
D = 3
For the regeneration time the books remains very vague. It only says "in the meantime between two battles the life points are refreshed".
I once heard it takes 20 minutes to restore all hitpoints, but this is unconfirmed and I don't know if that is true.
And I remember occasions where a Knight attacked a bowman from behind. Sometimes the archer is killed instantly, but sometimes it takes ages.
Your x12 would be over 1 then and so the archer should lose a life-point every strike, and if sometimes the first strike is lethal, he should always die at the first strike(which isn't the case). So I think this is not all of the story.
OK, if your memory doesn't trick you (maybe it was a crossbowman?) I have three possible explanations.
First has to do with my own experiences:
From Merchator's Unit editor I see that non-military units have H = 2 and D = 1. I noticed that a unit either strikes a normal unit either with two strikes or it takes him forever, but never between.
Therefore I conclude that the random number generator is not as random as it seems. I often wondered if there's a chance that it gives similiar or even equal numbers in a row. It seems that Joymania has written this function themselves, so maybe they implemented a bad one.
Maybe a bug?
My second idea is, that maybe the attacked unit was moving a tiny litte bit. This causes the attacking unit to miss.
Or, a third theory: I noted there's a bug in the formations. Sometimes, if a single doesn't use the viewing direction the legion has. Then I don't know what viewing direction is used for battle calculation. The unit's or the legion's?
As for short: I don't know what you've seen.