The ECM is working, since it's firing the fuel injectors. It gets that info from the distributor. It takes that raw info to fire the injectors, calculate engine rpm, and then it modifies the timing on that info and sends it back to the distributor on the spout. That is how it varies the engine timing.
With the spout disconnected, you timing is locked at whatever the distributor is set at. On most all EECIV systems the factory sets the distributor at 10 BTDC with the spout disconnected. Then when you reconnect the computer takes over from there.
I would be curious where your timing is with a timing light and the spout disconnected. If it's not at 10 I would set it there and see what happens. Most of the time you have to clean off the pulley so you can see the marks. I like to clean it off from underneath, take white-out and mark 10 BTDC and then I can easily see that white mark with the timing light when I get the engine started.