Hi Joanna, the smartlist you've described is correct -- although I would also define the engagement program you want someone to be a member of.
As far as the flow step, we have set our programs up slightly differently using an "exclusion" status. Based on your flow, I can't be certain, but a person might get stuck in a never-ending cycle if they have already been sent Content A email or filled out Content A form. The logic is this: every cast, a person is eligible for the next program of which they aren't a member. If they hit the -Do Nothing- step, then they don't become a member of the program and they don't receive an email. Next cast, they're still not a member of the program, so they look to enter that program again. Thus, the never-ending cycle.
While I could be incorrect in my interpretation of what happens above, I can tell you that having an exclusion program status definitely works! You use a new program status to make a person a member as soon as they receive Content A Email or fillout Content A form, and then at the point of the next cast they are already a member of the program so they move onto the very next program. Even if they properly skipped programs above, they'd definitely have a cast where no content was received, which probably isn't ideal.
There are several other threads set up discussing the exclusion status, as well as Edward Unthank's presentation from Summit 2014, so hopefully this will point you in the right direction!