Okay, I figured out the problem.
First, I got a couple of things wrong. My engineering team took BOTH the old primary and the old secondary machine down. The secondary machine was being used as a secondary machine in the test environment to test fail-over procedures. So the real situation was I had a primary and a witness that had lost the secondary machine.
The solution to stop the flood of alert message was a bit involved. I tried using the GUI to remove log shipping, but that failed since it could not talk to the secondary server. Ultimately, I had to do some behind the curtains work.
First, on the primary I had to run the following script for EACH database that had been log shipped.:
[font="Courier New"]USE master
GO
EXEC sys.sp_delete_log_shipping_primary_secondary
@primary_database = LogShipDB, -- sysname
@secondary_server = SecondaryServer, -- sysname
@secondary_database = LogShipDB -- sysname*/
GO
EXEC sys.sp_delete_log_shipping_primary_database
@database = LogShipDB, -- sysname
@ignoreremotemonitor = NULL -- bit
GO
[/font]
After this I had to run this command on the Witness machine. This was a bit scary as I was going straight after systems tables without using the GUI or any stored procedures.
[font="Courier New"]USE msdb
GO
delete FROM log_shipping_monitor_secondary
WHERE secondary_server = 'vmaxBirmSQL1'
GO
[/font]
Note that on the Primary machine, the queries had to be run from the master database but on the Witness they had to be run from msdb.
Yuck. What a mess. Glad I got it figured out.