If the level is set to 4 properly before the ability has been casted, it might be that the casting time data field of those spells is static and only determined by the first level of said spell.
Unfortunately, object editor stuff has a lot of such restrictions.
The best would be to base all your abilities on the channel ability. It actually allows you more freedom in designing the cast time of your abilities, as you can make the cast time actual channeling, instead of just seconds of doing nothing.
For example, if you want an ability to have a cast time of 3 seconds, don't use the actual "cast time" (that is unanimated and looks terrible because of that), but use a 3 second channel (which plays a proper cast animation), then, as soon as the channel finished, make the unit cast the actual spell. This allows players to cancel the cast time by moving (instead of being unable to move during cast time), looks better, and is better customizable.