How to know ? Show the relevant part of your code.
Current build is 604.
I do not think that you should be trying to correct your problem by compiling in the older format. You should really considered updating your code both in the MQL part as well as on the DLL side so as to reflect the new changes that were put into place with the new version.
Older DLL's will most probably not work in the new version, so you will have to update their code. If you did not write the code yourself, then I suggest you contact the developers in order to get the DLL and MQL files updated.
Really? Depends what you mean by "merge". As far as I can see, the least-unlikely scenario which matches your description is that MetaQuotes do the following, in order to match the functionality in competing platforms:
But I'm not sure that scenario is likely, at least in the short term. MetaQuotes's broker customers want a stable platform with support for legacy code, not another series of updates accompanied by disastrous side-effects. They want stablility and backward-compatibility more than new features. If brokers and their traders want extra features without backward-compatibility, they already have a wide range of alternatives to choose from.
So I think, that the best way for name Meta Trader 4 Build above 509 is not Meta Trader 4, not Meta Trader 5 but Meta Trader 6. Because not working for ME on releases build above 509 of Meta Trader "4" !
But all work fine on release 509. What for was new Meta Editor in Build 600 or 604 with new SYNTAX of MQL4. This is not MQL4, but MQL6 ! Everything is NEW and this is already NEW LANGUAGE.
How completely ignorant and inconsiderate to pull an amateurish stunt like this.
Which clown thinks people have time for this nonsense.
We're traders. Play coder on your own damn time.
You've destroyed my profiles and my ability to trade as I have been doing for years.
Nice move bowels.