It could be fuel pressure, but you would have had power problems as well. If you do get the fuel pressure checked, it should be at a constant of about 3 bar. It can be a bit higher, but it shouldn't be any higher than 3.5 bar.
Could also be airflow meter (AFM), computer box, or idle control valve (ICV).
To test airflow meter, the best is to borrow one from a friend and fit it to your car and see if there is a difference. This is fairly easy to DIY.
Same with computer box, you'll need to borrow one and test.
Idle Control Valve is also fairly easy to see if it's faulty. Have the car idling and open the bonnet. Then listen closely as you turn off the car. You should hear a little click from the ICV a few seconds after engine stops. A better way would be to have someone else turn off the car while you listen for the ICV click. I would also suggest to have the ICV cleaned. If they're dirty they could also make trouble.
BUT... an engine that swings for ages before it starts is usually a fueling issue. This could also be caused by the Computer Box not getting the correct readings from the AFM or maybe even the ICV and then not fueling correctly.
I'm now wondering if it could even be the TPS(Throttle Positioning Sensor). This tells the computer box when your foot is of the accelerator at which point the car goes into idling mode.
Do you give it more gas when you try and start it, or do you just turn the key? Some say your not suppose to give it more gas while trying to start it as the car handles this itself. I just turn the key in my E30 and she goes.