Adzel,
This is good work for a new LabVIEW user. It seems as if the issues you have mentioned (and some additional ones you may not have realized) relate primarily to program execution, so I'm going to focus my comments there.
It's an old saw around here, but you really need to shift your VI to a state machine architecture. Two immediate benefits are that your VI will be simpler for others to interpret, and it will become more clear how to solve issues like your first one below. "State Machine" is easy advice to give, but it can be difficult for a beginner to apply, because there are many different flavors of state machine in LabVIEW. Attached is a simple state machine shell in 7.0 that uses strings to manage the states and contains my general advice for your situation. The use-strings approach is simpler to program, but much less flexible and extensible than using an using an enumerated typedef, so you may want to check out that option instead by choosing File >> New... in LabVIEW and opening up VI From Template >> Frameworks >> Design Patterns >> Standard State Machine.
One other observation I will make regarding program execution is that you may be making a mistake with your tab control. On your diagram, you have the tab control wired to a case structure with separate code inside for the various analyses you perform on the acquired data. As a result, only one of these analyses will be performed in a given loop iteration--not all of them. I think this may not be what you're after. Instead, you could do all the analyses in each loop iteration, and allow the user to switch back and forth between tabs at will in order to view a given analysis. You just need to move all the code outside of the case structure and delete it.
With regard to "better headers" for your saved data: you may need to move beyond the Express VI and start using the lower-level File I/O VIs if you want precise control of the file output you get.
Two things I didn't mention or demonstrate, but would make your code even better after you adopt the state machine approach: using the Event structure to respond to user actions (a Wait for User case, typically) and using a master "program data" cluster to pass data between loop iterations instead of a bunch of individual shift registers. It's best to make this cluster a typedef, when you get to the point of wanting to try it.
Hope this helps,
John