I might be wrong here, but if you have "Track World Items" option checked on the "Main" tab of Injection, the names would be correct. An alternative is to first click the vendor (using UO.Click), then wait for server response (CheckLag()), and only then use UO.GetName.
About skill table - I know that Alchemy and Necromancy skills are not shown correctly when growing, is that your case? If not, I don't know if there are other reasons.
Max price - there's no such feature now, AFAIK. Would be a nice thing to have, I agree.
Finally, about targeting: use something like this:
Code:
uo.AddObject('vend')
while uo.Targeting()
wait(100)
wend
Your client'll show you the target, after you click something, Injection will create an object called 'vend', and you can use it in your scripts, for example: UO.GetName('vend').