Ok, I haven't had time to go through everything yet, but I've got a question about your first equation, specifically:

E[dam] = 0*(1-acc) + 1*(acc)*(crit*surge + (1-crit)*1)

In this equation, what are you using for Surge? If you have a surge of 50%, are you using 0.5, or 1.5? Because it looks like you're using the former (unless I'm reading your data wrong), but I'm pretty sure you should be using the latter.

Let me just break the equation down to make sure I understand everything:

0*(1-acc) = the proportion of attacks that miss, and thus do zero damage

1*(acc) = the proportion of attacks that hit

(1-crit)*1 = the proportion of attacks that do not critically hit, and thus do normal damage

crit*surge = the proportion of attacks that do critically hit, and thus have the surge multiplier applied. But if you have a surge of 50%, in this equation, you would have (crit*0.5), which would mean you're critical hits are only doing 50% normal damage, when in reality it should be (crit*1.5). This would be expressed by (crit*(1+surge)).

Now, if your equation already handles surge as (1+ surge_bonus), and thus always has surge > 1, everything makes sense. The way I was interpreting the equation, though, it looks like you are multiplying the critical hits by just the surge bonus, which would be effectively reducing their damage.

However, the way I wrote it also has the benefit of letting you simplify the equation. If it's written as 1*(acc)*((1-crit)*1 + crit*(1+surge)), you can expand (1-crit)*1 to (1 - crit) and crit*(1+surge) to (crit + crit*surge). Since these get added together, the crit terms cancel, and you are left with (1+ crit*surge). The final equation would then be:

E[dam] = 0*(1-acc) + (acc)*(1+ crit*surge)

Where acc, crit, and surge are just the values you see in your character window in game (but in decimals, rather than percentages).

EDIT:

Ok, it definitely looks like something is not quite right in your equation. In your data, E[dam] never goes above 1.00, which doesn't make sense. Let's stop thinking about numbers for a second, and just use logic: if you have 100% accuracy, you won't lose any damage to misses, so you should be doing your nominal damage, without accounting for crit/surge. Since crit and surge are strictly beneficial, your actual damage should be higher than the nominal damage, meaning E[dam] should be greater than 1.

Since this is not the case in your data, the only explanation I can come up with is that you are multiplying your critical hits by just the surge bonus. Since your critical hits actually do more damage than normal attacks, you need to multiply them by surge bonus + 1.