Mike,
I see this exact problem, though not widely because we have pretty strict controls on who can use the Corporate wireless. Funny enough, it is my boss (the IT Director) that I have the most frequent problems with. I came to the same conclusions that you have, largely, and have tried the same fixes to no avail. So, right now we' re just living with it. I did find some third-party utilities that will monitor both the wireless and wired interfaces and automatically disable the wireless if the wired is hooked up. This seems like a viable solution, but none of the utilities I found were free and I have not yet convinced my boss that the expense is worth it.
As an aside, we migrated from Websense to the webfilter in the Fortigate mostly because of cost (we didn' t even start using the firewall portion until recently). Websense did not have this problem, but it also seemed to have a different method for identifying users. Hopefully someone up at Fortinet keeps an eye on these forums and can suggest to engineering to take a look at the way Websense does user identification.