Well...the VI you sent didn't have all of the SubVIs so there might be something I am missing, but it didn't look like that VI was critical to the problem. In the post you have the device string correct (i.e. Dev1/ai0,Dev1/ai1, etc), but when you build your string in sequence 2 you don't include any of that information. All you get returned is a string like 0,0,0,0. Where do you add on the Dev1/ai information?? Also, even though you input an empty string if the channel isn't selected you run your for loop 16 times so you are always going to get 16 channels in the list, which I don't think you really want to do. Finally, you aren't using a sequence local to pass between cases 1 and 2 so I'm not sure how the string is actually being passed
One really simple thing to do is use the existing physical channels control in a while loop and have the user select their channels from that, and once they have made their selection they could hit a continue button to move on to the data acquisition part. The dialog box has a browse...functionality which allows for multi-select. I have attatched that really simple example here.