MSP430 Timer A interrupt flags are wacko
CCR0 holds the maximum value that the timer counts up to. When the timer reaches this value it resets to zero. Only CCR0 does this. CCR1 and CCR2 can trigger an interrupt when they match the current count, but the timer will keep on going past them. Since CCR0 sets the timer period, it is the obvious choice for generating the periodic interrupt (you could use CCR1 or CCR2, but then you would just have more registers to set up, and they might have other uses).  

If CCR1 and CCR2 are set to less than CCR0 then the timer will match them before reaching its maximum count, so when the CCR0 interrupt occurs you will see that the CCR1 and CCR2 interrupt flags have already been set. You can enable just the CCR0 interrupt and ignore the other flags - they won't cause any harm.    

TA1CCTL1 contains various bits that are used to configure CCR1. This has no relation to TA1CCR0 - you must still set it to the maximum count you require. If TA1CCR0 is left at zero then the timer won't count!