When a cold engine is started the computer operates it using what is called idle control strategy. Starting and ensuring a smooth idle on a cold engine is the hardest thing the computer ever has to do. Your engine starts and idles properly on cold start. It also idles properly when it is fully warmed up and stopping for lights and stop signs, and also any time you are moving along at any speed. My conclusion then is that the mechanical components (including your Vanos/Valvetronic/valve train components!) are all properly installed and in good operating condition. If they weren't, your idle problem would occur under all operating temperatures. Which brings me to my guess, it's temperature related (I can just hear all the techs going "Well d'oh! Of course it's temperature related, but what is it?)
Interestingly, the problem is not occurring cold, but hot, or at least warmed up. It's got what we refer to as a hot start problem, also called a heat soak problem. When you start your engine the first time of the day the temperature is whatever the air temperature is. When you're driving the average engine temperature is whatever it says on your dashboard gauge; around 195F for coolant and 235F for oil.
Notice the use of the word "average". There are areas in the cylinder head which get far hotter than that. Operating temperatures can be well over 500 degrees at times. Coolant or engine oil flowing over these areas help to carry away the localized very high heat. Until you shut your engine off! Then the heat from these areas radiates and conducts out to surrounding components and brings them to a temperature much higher than they'd ever see on a hot Summer day on the highway. This 'heat soak' can raise all kinds of issues which disappear once the component(s) is "cooled" back down to 195F. It's my guess that one of your engine sensors -and you have a lot of them- misbehaves when it's too hot. Which one?
I'm going to eliminate the throttle position sensor, and the mass air flow sensor, and the intake air temperature sensor, and all the cam activators and sensors. and the crank position sensor and knock sensor. All these devices commonly cause major headaches, but they don't dovetail with your symptoms. That leaves me with the coolant temperature sensor. It's buried on the cylinder head, is difficult to get at on your engine, and is a primary culprit whenever idle is messed up. I believe something happened to the sensor or the wiring harness when your cylinder head work was done.
The computer is smart, but dumb to the extent that it does what it's programmed to do based on input from many sensors. The one it leans on the heaviest is the coolant temperature sensor. It needs this info to 'choke' (richen) the mix when cold, or to adjust it when warm. If the computer gets a bad but plausible (in other words, possible) signal, it assumes the signal is correct, doesn't set a code or turn on a light, and uses that signal to operate the engine. If your CTS (coolant temp. sensor) is messed up it can send a bad signal under certain conditions. I'm guessing that's your problem.
If I had your car in the shop I would duplicate your problem conditions and graph RPM against MAF, TPS and CTS. I'd then run a Mode 6 scan which would show me all kinds of anomalies which might not meet the "throw a code" threshold, but still be causing the problem.* The critical thing to watch would be engine temperature following the heat soak.
So, my guess is a faulty engine temperature sensor circuit. Or carboned up intake valves. Nah, not going for that on this one, unless Orient thinks so, then I'm totally in line for it.
*(I'd also pay close attention to what the intake cams are doing on a hot start. It they aren't indexing properly due to binding or slight misadjustment you can get a rough idle, but this is somewhere near the bottom of my guesses of the Top Ten possible reasons for your rough/surging idle. Also, bad cam indexing usually sets a code.)