I'm keenly watching for news on the new Metatrader 5 platform, which will introduce the MQL5 programming language. MQL5 is supposed to have a number of very welcome features, such as OO, structures and increased speed.
http://www.mql5.com/ still just says "MQL5.COM is coming soon", and the main information comes from an interview with the developer Stanislav Starikov. There's an excellent compilation of information on http://metatrader5.blogspot.com/.
The MT5 programming language apparently will take on some of the C++ OO attributes, but that alone wouldn't necessarily make MQL4 code incompatible with MT5, since C code is forwards compatible with C++.
The main reason for incompatibility is that position management is going to be completely different. As I understand it, open positions maintained by MT5 will reflect the total position for that pair, and it will not be possible to have a simultaneous long and short trade with the broker, such what often happens now with a long term EA running with a scalper.
This change in position management approach may need to happen now anyway even in MT4, with the FIFO rules against hedging introduced in the US.
The MT5 approach doesn't stop the practice of maintaining opposite positions, but it means that position management code will need to maintain "virtual positions" in the EA.