The biggest problem with this approach is, apparently, that program code is very volatile, it can be hard to make a difference to a program that is very small. Changing just a single byte of code representation often results in catastrophic change, even though the program can be in need of a little change. [Genetic algorithms]? need both subtle and large change, and the change in genetic programming is very hard to control. Neural networks are better in this aspect, but they also change and evolve more slowly, and they are not as flexible as GP.
References: