In case anyone is interested: the main brake in the above code is the seq function. It creates useless redundancy because the list of conditions it generates can be integrated directly into Do-loops as follows:
B[a_, m_, t_] := Module[{n, p, q, s, f, b},
n = 1 - m; p = m/a; q = m (1 - 1/a);
s[i_, j_, K_] :=
Sum[Binomial[i, i - k] Binomial[t - i, j - i + k] (p q)^
k ((n + p) (n + q))^(K - k), {k, 0, K}];
f[i_, j_] :=
If[(t - i - j) >= 0, (n + p)^(t - i - j), (n + q)^-(t - i - j)];
Do[b[i, j] =
p^(j - i) f[i, j] Binomial[t, i]/Binomial[t, j] s[i, j, i], {i,
1, Round[t/2] + 1}, {j, i, t - i}];
Do[b[i, j] =
p^(j - i)
f[i, j] Binomial[t, i]/Binomial[t, j] s[i, j, t - j], {j,
Round[t/2], t - 1}, {i, t - j + 1, j}];
Do[b[i, t] = p^(t - i) f[i, t] Binomial[t, i], {i, 1, t}];
Do[b[j, i] = (q/p)^(j - i)
b[i, j] Binomial[t, j]/Binomial[t, i], {i, 1, t}, {j, i + 1,
t}];
Return[Table[b[i, j], {i, 1, t}, {j, 1, t}]]];
This way it is possible to reduce the time for t=2000 from thousands of years to hours, still non-compiled...