The cluster from the "get..." function contains "Timestamp(ticks)" for each point. Once you get the timestamp of the left and right peak boundary, the tick difference will give you the width in time units.
We really cannot do much with your code because we still don't have any hardware, drivers, subVIs, or typical data. We don't need most of your code. It would be sufficient to have a typical file output (containing tick, x, y) and a tiny VI to play it back, simulating your acquisition.
You also have potential race conditions. For example, you cannot guarantee that FALSE is written to the stop (via local variable) before the stop value is read inside the loop. Since there is no data dependency, both operation occur in parallel, but the outcome critically depends on the fact that the FALSE should be written first. Also, the UI might be confusing because changing "Save" will have no effect once the VI is running. Etc.