That definitely looks like a better ignition map, certainly a good starting point. To get my MR2 map dialed in, I mounted one of those Bosch donut knock sensors to the side of the block and piped the signal into a headphone amplifier in the car. Sort of an advanced detcan. I was able to hear knock really well and tune it out over time. I would also ramp timing near the cranking area as it moves down the map toward idle. I've had issues in the past where it would crank, catch, and then run into a wall of more advance that would cause a hard start situation.
Next thing to start working on is your accel enrichment, it looks like you need more. Take data and dial in on the locations where you are opening the throttle. Pull up TPS, TPSDot, and AFM. If you see small lean or rich spikes after you have a throttle movement, your accel enrich isn't set up right. You'll usually get a little, but if your AFR spikes more than 0.5 away from where it was, you've got work to do. You've got it really dialed when you can move the throttle at any rate and your AFR ramps to your desired value and doesn't change.
On your idle issues, do you have AFR correction turned on? Let it idle and take note of how much EGO correction you have going on. Assuming you don't have a hardware problem, injector dead time is generally the culprit behind poor idle as conditions change, especially when it gets hot.
Injector dead time settings have a large effect at idle, having them wrong will result in wonky AFRs that require a lot of EGO correction as environmental conditions change (hotter air, coolant temp, etc).
If you need a lot of positive EGO correction as your air gets hot, you need more deadtime, if you go rich when your air gets hot, you need a little less. Change it in 0.1ms increments and take more data. It takes a lot of attention if you don't have or measure deadtime for your specific injector setup.