Ruskul Thanks for the details about scalability. I understand now what you mean, though, I agree with skymen that you can't expect Construct to be as another language, because that's the way it's build.
You need to use the right tool for the job you want to do. So, yeah, if you want to do a 3D MMORPG, Construct isn't the best tool to use, but for "middle" difficulty projects, I think an expert user can still mitigate the drawbacks of Construct with the experience.
Your example for a complex platformer is clear, I have experienced something like that working for some clients. Yes, it's a bit complex, but still doable. To me, as far as I know, it's still faster than code the game from scratch, even if sometime I spend 1 or 2 hours on one issue, overall the time spent for the whole project is still worth compared to do everything from scratch.
So we have to balance 3 things:
1) Understand the limit of the engine
2) Understand the experience of the developer with the engine
3) Understand the complexity of the game
Can you put a nail in a wood board with a screwdriver? Yes, but it's not so easy.
Should you try to put the nail in the board with the screwdriver? It depends.
Do you have an hammer just next to you? If no, and you have to drive two hours to the closed depo and come back, to buy a hammer, would you try with the screwdriver?
It depends on your experience, if you have already hammered a nail with a screwdriver many times, it might be worth to invest 1 minute in doing it, if not, and you plan to hammer a lot in your life in the future, better go to buy the hammer.
So, a lot come down to personal experience. For example, for multiplayer games, I started to develop a reusable event sheet. The main program call a function and the function call the events in the multiplayer event sheets. Yes, it's a double call, but it let me use generic multiplayer code for more than one project.
For audio management, I have a standalone event sheet, and I reuse it for all projects that require to play audio with music/sfx on/off and setting their volume according to the options.
While you might have obvious issues with the increase number of object in the projects that let you waste time in picking among those, you can still have benefit of using groups, events or even variables to enable/disable part of code or recycle it.
By the way, if you organise objects in folders, when adding a new condition or action, you can simply type its name to filter out all the other objects and that is pretty much the same time as writing code, if not faster. This is present in both C2 and C3, so having too many objects to filter, isn't really a big deal, unless I have misunderstood what you meant.