Yeah that seemed obvious enough and was in fact my very first try, but it didn't seem to work at the time. Now that you mentioned it, I went and retested it, and have now found out that it seems to be using another UICamera I have setup in my scene, which has no components involved in the current event whatsoever, to do it's calculations - if I disable it, or change the size and viewport of that camera to be the same as the proper UICamera that should be used, I get the correct values.
So I assumed I was the one doing something wrong and not NGUI, and proceeded to find another way. Turns out I was right all along.
So I guess you have a bug to fix... sorry about that

Oh, and the necromancy comment was only because I was reviving a 6 months old dead thread, not because of any code.