Hi @PaulZenymarketing - welcome to the community and glad to see you here.
If you don’t want people to be in similar Flows, you can use Flow Filters to exclude a user if they are in other Flows. Or, you can use a Message Filter on a specific message to stop it from being sent if they’ve received a similar one before.
As for your other observation about people coming in and out of Segments - after reading your explanation, I think one possible cause why people are coming into and out of other Flows due to “Person No Longer in List/Segments” is that I suspect you are Segmenting your Main List by the “Source” and building Segment Triggered Flows to deliver the Lead Magnets (and subsequent emails) to those Segments. As a subscriber “opts-in” into subsequent Signup Forms (to get an additional lead magnet, etc) - their Source value will change to reflect that - so by definition, they no longer will be in the prior Segment. If this is the case, then you might consider the following workaround.
One way to address this is to have special custom properties for each Lead Magnet, so in the Klaviyo Signup Forms you can define those as hidden field/value. (example: leadmagnet1 = true, leadmagnet2 = true, etc). Then you can build Segments grouped by that property so people won’t exit a Segment if they sign up to additional Signup Forms and they can belong to multiple “Segments” simultaneously. This avoids you from recreating the Segments/Flows and having an Old vs New Flow.
However, should you need to do create new Flows that triggers on the same Segment, you can use Flow Filters to define distinct groups of profiles who enters the New Flow and keep previous profiles to remain in their existing (legacy) Flow.
One handy property to build a Flow Filter on is the “Create Profile Date.” So you can add a Flow Filter for Profiles Created Before a Date for the existing (legacy) Flow recipients, and add a Flow Filter for Profiles Created After the same Date. If you set your Date sometime in the near future (e.g. next day), then it cleanly separates new profiles getting the New Flow, and any existing profiles to be remained in the previous (legacy) Flow - and you can keep both Flows “Live” until everyone in the old Flow has completed - at which point you turn it off to declutter your list of Live Flows (Don’t delete it though, you may want to have the data/analytics around for future reference).
Hope this helps!