Nope. First come, first serve.
Sure, first come first serve. The medistation would only stop healing you for split second to cure the poisoned player or hand out medkit before resuming your healing. The poisoned player would still have to wait before it would start healing him.
Timeline:
Player A - 30hp, being healed, no medkit
Player B - 60hp, poisoned, no medkit
Player C - 100hp, no medkit
1) player A (30hp) is being healed (0.25 seconds)
2) player B (60hp, poisoned) steps on medistation, gets cured and receives 1hp, player A (35hp) waits (0.05 seconds)
3) medistation resumes healing player A (35hp), player B (61hp) waits (0.6 seconds)
4) player C (100hp) steps on medistation, receives medkit, players A (47hp) and B (61hp) wait (0.05 seconds)
5) medistation resumes healing player A (47hp), player B (61hp) waits, player C buys ammo and returns to fight (2.65 seconds)
6) player A (100hp) is fully healed, receives medkit, medistation starts healing player B (61hp)
and so on...
I don't think that setting priority based on health left is a good idea. In the end, medistation would slow down to heal everyone at the same time. However, I think it should ignore players who have active medkit.
btw you can build turbo medistations, just build 2-4 next to each other
you can use 2-4 medis standing in the middle
btw next, instead of messing with medi track vote and ready bugs, those are only in your game.qvm build 
As far as I can tell they appear to be client-side. Maybe some kind of protocol mismatch with SVN game.qvm. Full SVN release (both server and client) might fix them. Or it might be some glitch in the new TJW configstring code, because votes are set and cancelled by configstrings...