Hi Mojo,
I would probably approach an umbrella this way:
Create a curve to act as a single "spoke" for the umbrella.
Duplicate that curve for all of the other spokes.
Now, duplicate and rotate all of the spokes to a position halfway between the spokes -- this is where the fabric's halfway point between spokes will be.
Loft a closed, cubic NURBS surface through all your curves - be sure to keep history turned on. This shape should look like your umbrella's fabric in a nearly closed position, but with non of the overlapping folds. Thanks to history, you can now move and rotate the non-spoke (fabric) curves to get the overlapping folds.
Is this making sense at this point? Play around with this to see if you like the approach.
What I would do next is create a joint chain for each spoke and fold. You can either skin the curves to the joints and continue relying on history for the surface deformation, or sever ties with history and skin the surface to the joints.
Now, you can create a hierarchy for the umbrella shaft and the one moving part you mentioned. The movement would not be a parent/child relationship though. I'd use an expression or driven keys to tell the spoke and fold joints what to do when the moving part goes up and down the shaft. You may find driven keys to be the most intuitive -- if the moving part is down, rotate the joints to the closed and folded position, key. If the moving part is halfway up, rotate the joints to the halfway position, key. And, when the moving part is fully up, rotate the joints to a nice, curved open position, key.
There are many other ways to do this sort of thing, including the dynamics you mentioned. However, I think the above approach would work well and be relatively simple to set up and operate.
Please let me know if you'd like clarification on any of this!
-JP