IMO, If your application is large, modules will likely help in ease of development, load time, and memory management.
As far as initializing a lot of components and stuffing them with data, I don't think it will matter too much if the components are in a module or not. You are correct that you want to try to do it in the "background" although there is no official background processing in Flash/Flex.
IMO, it comes down to whether you really can do all of that work of initializing "all" of the components fast enough. If you can guess you're going to need those components then you can get a head start, but will you know soon enough to finish before the user starts complaining about waiting? If you think you can, then one technique folks use is to only initialize a few components at a time. Use states or pure AS to add and initialize "some" of the components and when they are initialized, do a few more.
Also consider whether all of these components fit on the screen or not. If there are components that are not immediately on screen consider initializing them later.
Another thing worth doing is using the profiler. Several times I've seen folks go through extra validation passes in the LayoutManager than can often be avoided and save bit on initialization time.
A final technique is to give up and choose to distract the user instead. The simplest form of that is giving them something to read while everything else is going on behind the scenes.
Brilliant - very informative answer. Thanks Alex.