Fuel pressure as well as base timing is what I'd check first, and then I'd check that the timing is advancing when the bypass connector is plugged back in.
Many people that aren't used to working with these ignitions may adjust the timing "by ear" or have the distributor out to do intake gaskets, and not know how to correctly set the base timing.
There's a tan wire w/black stripe in the engine bay that has a disconnect for this purpose. On your '88 you'll likely find it behind the plastic cover on the passenger side of the firewall. Typical location on most 88-93 GMT400's.
You must be registered for see images attach
Engine warmed up, disconnect that wire, then throw a timing light on it and set the distributor for 0° BTDC. Snug it down, re-check that it didn't move, still at 0° - then plug that connector back in, and it should jump up roughly 12° or so and expect it to not hold steady; it will move around a little bit as the ECM is constantly adjusting timing advance.
It helps to find the mark on the balancer and paint it white with a paint marker, and wipe any grease off the timing tab on your timing cover first. As you can see the wider triangle mark has 0° at the center of it.
You must be registered for see images attach
If you don't see the timing advance when the wire is plugged back in, then suspect the ignition module in the distributor.
Next up? Not sure what all else you've done but if your CTS (coolant temperature sensor) on the intake manifold is old, or the connections to it are ratty, especially the grounds at/near the thermostat housing, it could be incorrectly reporting the coolant temperature to the ECM. When these sensors go bad or the circuit has too much resistance due to corrosion at the connections, they read colder than actual temp, which causes the ECM to richen the fuel mixture too much and this will result in poor drivability, too. A scan tool will show you what it's telling the ECM and you can compare that to temps read at/near the thermostat housing with an IR temp gun, because you can't really trust the dash gauge. You can check the sensor itself with an ohmmeter. If it looks really old, I say go ahead and replace it because they all eventually go bad with age.
The surging could be a possible vacuum leak. TBI base gasket, vacuum fitting or hose loose/broken, etc. An
unlit small propane torch slowly moved around the engine while running will increase the idle speed when you find the leak and it sucks in the propane. You can also do this with a spray can of carb cleaner but I find the propane easier to control than any wet chemical that you spray.
These things cover a lot of the bases of your complaint. I even had a customer years ago bring me his '95 Tahoe because he was sure his engine was junk and was looking to buy a replacement. Base timing was WAY off, CTS was very bad, EGR was bad, and sensor grounds were green corroded. After the timing was set, CTS replaced, and sensor grounds cleaned up - it ran nearly like new. I gave him info on ordering an EGR and that took care of his code 32.
Richard