No i dont have an error reader. Is it worth getting one ?
Literally - no - a 'scantool' or 'code reader' is of limited appeal now that you have the brilliant option of AlfaDiag available to you
Look at AlfaDiag Alfa Romeo Diagnostic Software
and do a few searches in this forum to get the idea. Basically, you need a widely-available KKL OBD-to-USB cable, which seems to often come with VAG-COM software (Volkswagen-Audi) as a bonus, costs about 15 pounds... and then you can either buy AlfaDiag online (60 euros) or use the free Unidiag (where you have to register with a Yahoo! group and wait to be approved.)
AlfaDiag does so much more than reading error codes - with AlfaDiag, you can monitor the sensors (even while driving - log data), test the actuators, and run calibration/test routines just as on the dealer-network 'Examiner' system.
As well as Selespeed, AlfaDiag 'talks' to the Motronic ECU plus some other bit-part Bosch ECU in the 156 - but also, AlfaDiag works with so many other Bosch ECUs (and even airbag ECUs) that you are likely to use it on some other car if, like me, you have a FIAT/Alfa fleet. Earlier this year I gave up a day off work and forked out $100 to get the airbag light turned off on my Punto (after shenanigans with the instrument cluster, long story). AlfaDiag would have done the job.
If you're thinking 15 pounds + 60 euros is expensive, think of what trips to a specialist will cost, and how much better it is to be able to work out yourself what is going on
Starting with a Selespeed system pressure check - should be 50 bar... you can see the pressure drifting down as you make gearchanges, then rising when the pump runs... you'd be able to spot a failed pump or accumulator easily. Working 'blind', you could spend hundreds replacing parts (better to go to a specialist than apply a scattergun approach).
Anyway, have done the ecu reset and throttle reset as described on here, now engine will start but cut out very soon after.... If I try and rev it, just makes a popping noise and revs go lower.
The plot thickens - I think that problem sounds like a lack of fuel. The same problem may be read another way as 'excess air'.
Excess air: check the corrugated pipe in the engine bay that runs between the airflow meter (AFM) and the throttle body. Can't be seen properly in situ - take it off and check all round for cracks ;0
Lack of fuel: fuel pump - fuel filter - maybe the small corrugated pipe attached to the fuel pump inside the tank has split and sucks air when the fuel level is low... these are just guesses... I would also say fuel pressure regulator but I'm not sure the 156 has one, due to the returnless system (?) If there's a Shraeder valve on the injector rail, you could test fuel pressure. I think this problem isn't related to the Selespeed not getting a gear, but is related to the jerky behaviour at slow speed. Although, maybe when the idle is all over the place, the Selespeed doesn't play ball? I think you should sort out the idling/running problem first but I guess that's obvious. Sorry I can't be more helpful but I don't know the 156 fuel system yet...