One other check for the neutral safety switch, would be to check for continuity of the leads all the way to the ECM. You will have to remove the connector at the ECM to do that.
One of the leads is black and it should have continuity to the block. It is probably ok, because the engine will start. It would not start without the lead being grounded.
The other lead is the one you need to check back to the ECM. Just check for that color lead at the connector.
It is still possible that all that is working but the ECM is the problem. There is not way to check that for sure without changing the ECM. I would recommend more tests before considering that....unless you have a spare engine around.
I do not know of a direct method to test a map sensor. I usually use Dr. H (which can not be used on your engine) and see what the different map sensors read when the engine is turned off. They should all measure the same atmospheric pressure.
About all you can do is make sure there is no debris in the hole in the map sensor or the hole the the map is positioned over.
More questions.....
Did this problem start all of a sudden or did it build up gradually? Did the engine sit for a while before it happened?
If you have not done so already, it is time to do the basics....
1. Compression test
2. Spark test (check spark plugs for unusual wear or burn.)
3. Check timing marks (in case the timing belt jumped a notch.
4. Check PVC valve (located on the starboard top of the engine)
5. Check the fuel pressure (as the engine is surging)
6. Check valve clearances ... also checking the locking nuts or something that may have come loose.
This engine also has balancers driven by a separate belt from the timing belt. If the balancer belt jumped a notch, the engine would just shake like crazy.
It is good to examine around the pulleys to be sure that some critter did not make a nest.
Is there any way that you can post a video on youtube to show us exactly how it is surging? You definition of surge and mine may be different.
Mike