Generally, yes. If it's two cards from the same bank, he probably has to do it via a checking account. Even if it's from seperate banks, it may not be a bad idea. Example:
He cash advanced $1500 on his card at 2x.xx% interest rate. That balance is now up to $1700. He has a new card offering 0% BT and 3% BT fee. Request a BT check from the new card in the amount of $1700 ($54 BT fee), and make it payable to his name. Deposit the check into a checking account, and then pay off the $1700 card from the checking account. A couple extra steps, but it allows you to BT between two cards from the same institution.