Very good question! imagine that hub1 and hub2 has high bandwidth connection in area 0, when hub2 with the first spoke's VPN comes up, hub2 will use intra route to reach other spoke sites with next hop being the first spoke, traffic from hub2 (originated from another regular area) to other spokes will need to traverse Internet 3 times (to spoke1, to hub1 and then to spoke2), when return traffic hits hub1, hub1 will use the backbone connection to hub2, this is un-symetric routing right there, more over, policy will need to be modified to allow traffic initiated from VPN zone to the zone between hub1 and hub2, our exsiting application only requries connection initiated from the hub. Anyhow, theoretically this should still work, but in reality, it did not ... plus, with this kind of configuration, any spoke drops one tunnel to either hub, that hub will have sub-optimal routing to this spoke.
Compared to if I can get two areas on spoke to work(At least it works on IOS), during first spoke transition, hub2 and other spokes can maintain the same routing/policy as before, and if either tunnel from the spoke is dropped, optimal routing from hubs is maintained. (note that I redistribute connected routes on spokes), hub will never use intra-area to reach this spoke.
I can certainly put all links in area 0 to solve the problem because the routing will be purely based on metric, but I am not sure this is a good solution in our case.