You may be selecting the source before it stabilizes, causing it to fall back to an alternative source. Make sure XT2OFFG is clear in UCSCTL7. The TI example program msp430x54x_UCS_8 from the 5418 example programs shows how to configure for XT2 and includes the loop below; there's probably an equivalent one for your chip in the code examples available at http://www.ti.com/product/msp430f5510#toolssoftware.
// Loop until XT1,XT2 & DCO stabilizes
UCSCTL7 &= ~(XT2OFFG + XT1LFOFFG + XT1HFOFFG + DCOFFG);
// Clear XT2,XT1,DCO fault flags
SFRIFG1 &= ~OFIFG; // Clear fault flags
}while (SFRIFG1&OFIFG); // Test oscillator fault flag
UCSCTL6 &= ~XT2DRIVE0; // Decrease XT2 Drive according to expected frequency
UCSCTL4 |= SELS_5 + SELM_5; // SMCLK=MCLK=XT2