You should expect small difference between the same program compiled by different compilers. Finite precision arithmetic doesn't obey the rules that we expect for real numbers. So if the compilers change the order of operations, the results may differ slightly.
That said, gfortran 4.1 is very old to point of being obsolete. I wouldn't use a version of gfortran earlier than 4.3. I strongly recommend upgrading.