Is there any guarantee in asynchronous systems?
Your question is somewhat unclear. In asynchronous systems we normally assume that any message will eventually be delivered after some finite time. It if perfectly feasible to write an algorithm that sends infinitly many messages:
While(true):
   Send a message to p;
   If received message form p do &lt;...&gt;

This is valid and will indeed cause infinite number of message exchange. But the timings of these messages are unknown.
I am not sure what you mean at your second point. If there are no link-failures, all edge-cuts remain alive. As long as the processors are correct, the link will be utilized infinitely often.