Yeah the problem is probably in removeSeq.
for(int i; i < s.size(); i++) {
if(i != num) {
sequences[i] @=> s[i];
} else {
sequences[i + 1] @=> s[i];
}
}
Here you only hit the i+1 case when you find the seq you are removing ("num"). In the next loop around, you go back to copying sequences[i] to s[i]; sequences[i] at this stage is the same as sequences[i+1] in the previous loop around, so overall you've copied sequences[num+1] twice.
For simplicity I would refactor this into two loops, one to copy everything before num (sequences[i] @=> s[i];) and one to copy everything after (sequences[i+1] @=> s[i];), but there are a few different ways you could structure it. If ChucK had a list class this would be a lot easier, but so it goes.
spencer