little update: I think i've noticed a bit of a "feature" of what's happening. When I start the car cold, it will try and idle at 1k rpm initially, then a few seconds later (if it hasn't stalled) it suddenly rises to 2k rpm. If I reach this stage then it runs perfect and won't stall. Eventually when it warms up the idle drops back down to 1k rpm. However,during those few seconds it does seem to struggle to maintain an idle, and if I give it any throttle during those seconds it really struggles and often bogs down and cuts out.
Does this help anyone come up with any more ideas?