it wont jump start or start by key, but it will start if you bump it. that shows the immob can not be the problem since the engine definately cant bump start if the immob is on.
however it is odd that the key code light remains on, as that suggests the immob is actually staying on. when the key code light remains on, try switching the ignition off for a second, and then back on, if the light then goes out it means you probably have a clone of the red key rather than a blue key. (is it an original fiat key?)
personally i think you have either a fueling problem or a compression problem (sounds like fueling), there are plenty of possible causes for either. a diagnostic check is probably a good idea at this point.