The plot thickens...
Anyway, the stored procedure had quite a lot of INSERT statements, so why would only these two be slow? If it's a problem with mirroring, it could happen anywhere in the procedure one would think. Unless these tables are on a particular filegroup, but I doubt since they are on PRIMARY.
Anyway, your ping times indicates that there is a connection to the mirror. Maybe because the archival procedure helps to consume the bandwidith. The funny thing is that this one seemed to work one row at a time (but the code was about unreadable), which inefficient, but lean on resources.
As for the procedure InsertIntoVehicleNotification, permit to try to what explain what I was getting at earelier. Say that the client needs to insert 30 notifications. Apparently then it will call the procedure 30 times. It if it was rewritten to accept a table-valued parameter, all 30 rows could be inserted at once. Of course, if this is a vendor app, there is little you can do, but to bug the vendor.
I also note that there is no transaction in the procedure, but maybe the client takes care of that.
Erland Sommarskog, SQL Server MVP, www.sommarskog.se