The first question you should consider is that are these procedures dependent on the same data and is that data being modified. In other words can the procedures be executed in any order without affecting the result?
The second question is, are the procedures still modifying the same data. If they are, you may have a big chance of locking conflicts, even deadlocks.
If the either of the above questions is true, you probably shouldn't be using asynchronous calls.
Also before going to asynchronous model, you should investigate if the performance of the procedures can be enhanced. Are they executed in an optimal way. If the roundtrips are taking the time, why not create a small procedure which calls these procedures. This way you can use only single call from the client side.
And after all if you decide to use asynchronous executions, first you need to open 5 separate connections and then with each connection you can use methods like
SqlCommand.BeginExecuteNonQuery[
^] or
SqlCommand.BeginExecuteNonQuery Method (AsyncCallback, Object)[
^]