AS3 is not better than AS2
i don't quite get this whole AS2-bashing thing ... i know only very few people who actually seem to understand the great possibilies of AS2 ... AS2 can be compared to Ruby, whereas AS3 is just where Java was 10 years ago ... yes it's slow, but it is much more powerful and expressive than AS3 ... i don't know about any fundamental feature AS3 has and AS2 hasn't (don't confuse language and API), except proper error handling ... on a moreless related topic, i got in to details recently ... AS3 has access to a much bigger API, but most of the important things are nothing you seriously need in business app ...
AS2 can be highly productive and elegant, if you actually use it to its full extent ... if you want to have the same flexibility in AS3 as in AS2 (or the best approximation you can get, at least), you will find that most of your code execution speedup goes out the window ...
Do not use AS3
i am serious ... if you want to target the AVM2, use either Flex through MXML with least possible ammounts of AS3, or haXe ... use Flex if fast developement is important to you, and haXe if it's more about performance (well, there are other reasons to do so, but they are more subjective i guess) ...
until today AS3 has been a dead end ... the language has not been changed a bit since it was introduced ... sure, the flashplayer has new features, but AS3 stayed AS3 since its release 3 years ago, except for Vector, which is just some quite faky thing ... you may want to note that it took 3 years from AS1 to AS2 and another 3 from AS2 to AS3 ... and it's really time for an AS4, but Adobe does not seem to work on anything like that ... instead they focus on expanding their product palette more and more ...
What should you do?
subtextually i got the impression, that you have some 100000 lines of spaghetti code ... so the actual problem is the code, not the language ... you need to do a rewrite ... if you think it makes sense, you can even rewrite it in AS2 (although still i'd suggest the use of haXe instead) ... the only point in actually using AS2 is that you could copy and paste some implementations, if you are lucky ... but you really should just build a clean app from scratch, using the best of what the language you use provides, being a subset of OOP, AOP and FP (haXe/AVM1 would allow all of these things) or a declarative approach, as allowed by MXML ...
except for the obvious problem, which is cost, there is no con for a rewrite ... the pro is you winding up with a better code base, that is more maintainable, flexible and probably even performs better, or at least it makes profiling and later optimizing easier ...
the expressiveness of a language is a factor, when it comes to writing good code, simply because developers are lazy, but other than that, it has no impact on anything but performance and productivity ...
When it comes to clients ...
... i'd suggest you tell them the simple truth: they can have a software that provides a fixed set of functionality at the least price possible (which is probably what they have right now, in your case), or they can have flexible/extensible/well designed software ... and even if they choose the latter, they will have to accept, that every once in a while you need to take drastic step, such as rewrites ... constant degradation of code is an undeniable phenomenon ... when you design a software, you start making decision in which directions it can evolve in in which it can't and you will come a point, where the obscure web of dirty hacks added to implement functionality, which the software was not layed out for, will make any further extensions uneconomical ... do not hesitate to point out to your clients, when a software you are to extend (be it yours or not), that it's a very good point for a rewrite, instead of letting them pay for all the inefficient work needed to add the extra functionality they need ... the cost for software extensions grows exponantially ... after a rewrite, this cost gets back that "close-to-0-shallow-part" ... it's up to your own expertise to determine, at which point it makes more sense to do a rewrite (if looking through 100K lines of code is necessary just to actually do this assessment, it's clearly a good time for a rewrite in my opinion) ... get a picture of what you think where the software should go, what is needed for that, and choose the most efficient way to do so ...
greetz
back2dos