To answer your questions:
1) The ability to set the frequency in seconds, down to one second, would be ideal.
2) Different refresh rates for different web parts would be a nice feature, but far less critical than the base feature of all web parts refreshing at the same rate per page.
3) Not that I can think of. I'd typically pull SQL data, and where a time stamp is needed, it could key off of the SQL time for that record.
4) In this scenario, some indication of a connection failure would be helpful, at least as an option. Perhaps something like a small green/red dot in a corner of the web part might be used.
Thank you,
Aaron