I have a funny feeling that holding the starter button the couple seconds extra depletes the battery just enough that the alternator has more load on it for a few seconds afterward in order to recharge it, and the extra load on the engine smooths it out.
To the OP - Connect the power commander to your laptop with the PowerCommander software on it using a USB cable. With the software running, start the engine and download the map from the power commander to your laptop (and save it somewhere so that you can go back to what you've got). Go into the fuel map. The software will display the current RPM and throttle position and highlight the cells on the map that it is using. Add a little bit (say, 5) to the numbers in the map at 0% throttle that immediately surround whatever RPM the PowerCommander says that the engine is running at (this will be the map cells that it is using for interpolation). For example, if the engine is running at 1680 rpm, add 5 to the cells for 0% throttle 1500 rpm and 1750 rpm. Upload the modified map to the PowerCommander and see if it makes a difference. It is really easy.
For what it's worth, the unstable idle during warm-up is not harmful, just mildly irritating, and it won't cause driveability issues, particularly if it runs fine when warm. It would not be unreasonable to simply ignore the unstable idle.