I've been all over the code - and as far as I see bloginfo(version) should directly report the value stored in the global variable $wp_version
Said global being defined in wp-admin/version.php
The value set in version.php is confirmed to be 2.5.1 however all checks of this variable, by bloginfo function or elsewhere such as the version checking script, reports back 2.5
I even went so far as to temporarily edit version.php so that $wp_version equaled 'AbCdEfG-2.5.1' and still the system says 2.5 - I also removed a ";" to cause a deliberate error, so as to confirm the file is really being accessed. It is.