I am not totally sure if this is a "who" problem but the symptom is shown via the who command. When running "/usr/bin/who -ml" I no longer get the user and hostname associated with stdin when running locally (under X). This will only work if I am running gdm and GNOME. This problem will occur whether "who" is run from gnome-terminal, xterm, or rxvt. This has worked up through RH Linux 6.0. I get similar results using XFce and KDE.
The basic problem is that 'who' has the -m option at all. utmp entries are for login sessions, not shell prompts, so there is no direct correlation between a particular pty and a particular session. The -m option mostly remains for historical reasons - in the "old days", they didn't have to worry about things such as logins via gdm etc. :)