Very cool stuff indeed. I need to read most about the underlying algorithms where genetic programming was used to generate "human competitive" results, but this is pretty neat stuff. A lot of my own thinking about AI tends towards self-modifying programs (in essense, more in a bit), though I do have some questions about "genetic" programing - primarily how you create a "fitness test" and allow for variablity.
(think about it in terms of how do you tell whether or not the software that is being generated is "good" or "bad" - and allow for variability in the techniques and algorithms used, but in some effective manner. It is not exactly a simple issue)
Most of my AI work involves writing applications that are data driven in an almost literal way - that is, they may literally rewrite their own code (in a limited fashion) based on what they are working with - this can be somewhat confusing stuff but it also allows for highly generalizable solutions with little that is hardcoded about them. It is not a huge stretch for me to then consider where there is some way (or ways) in which I could introduce variablity into the code/test process and morph into writing "genetic algorithms" for much of the work I do (mostly text pattern recognition and data extraction/mapping)