You don't just integrate T(E), there is also a weight from the Fermi functions. In the limit of zero temperature this means you integrate only over -Vbias/2 to +Vbias/2, but if you run at finite temperature there is a tail of the Fermi functions also. Thus the limits you put on the energy range for the transmission are irrelevant, as long as they contain the bias window, plus a bit more. Of course the range does matter for how many points you get in the bias window, and hence the accuracy of the numerical integration.
In your case, the -2 to 2 integration is inaccurate because you are not picking up the fine structure of the peak near -0.045 eV, since the point spacing is too large. That's why you also get a very low current. With more points (second example) you do resolve the peak and get some value from it; in the third example (6 points) you are probably just lucky to hit a high enough value to get a similar current.
However, if you also look at the logfile output from the 2 last calculations you will see that the coverage of the bias window (really, the bias window plus a few kT) is less than 100% - if you see that, the results are not correct.
The proper evaluation of the current in this example is probably achieved with something like energies=numpy.linspace(-0.07,0.07,200)*eV; check the energy range by looking at the bias window coverage in the log file, and make sure it's 100%. Then increase the number of points to 300, 400, 500 to see if the value changes as you resolve more and more fine features in the peak at -0.045 eV.
Then there is of course always the matter of k-points (it's not clear whether the system is 1d, 2d, or 3d)...