Hmm, as much as this might still be a mIRC bug, that isn't a good indication. Floating point numbers are able to represent certain but not every number. Generally, when you have huge numbers you lose precision, so your result is perfectly normal. There're a lot less extreme numbers that can't be represented, what happens if you try 1.00001 (can't test, not on a a Win system atm)? In matlab on this machine it comes out as 1.0.
As for the Windows calculator, it might not use floating point numbers at all but rather some unlimited precision library instead, which makes the problem go away. It might also simply use a different precision than mIRC does, there're several available on x86 systems.