以下のような画面構成で音楽プレイヤーを作成しています。
[アルバム一覧画面] → [選択されたアルバムの曲一覧画面] → [再生画面]
画面の遷移はナビゲーションコントローラを用いています。

そこで以下の手順で操作を行うと、MPMusicPlaybackStateが正しい状態を取得しなくなります。
1. 起動するとアルバム一覧画面が表示されるので、任意のアルバムを選択する。
2. 曲一覧画面に移動するので、曲を選択する。
3. 再生画面に移動し音楽が再生される。
  ここでは問題なくMPMusicPlaybackStateの取得、制御ができます。
4. ナビゲーションでアルバム一覧ページまで戻り、別のアルバムを選択し再生する。
5. すると音楽が再生されているにも関わらずMPMusicPlaybackStateが常にPausedとなり、
  制御できなくなってしまいます。
6. 再度曲一覧まで戻り、別の曲を選択するとMPMusicPlaybackState
  が取得できるようになります。

これは画面の移動時に何か処理が足りないのでしょうか?

色々調べたところ、以下のページで過去に似たような質問をされている方がいました。
https://stackoverflow.com/questions/10118726/getting-wrong-playback-state-in-mp-music-player-controller-in-ios-5
かなり古い質問ですが、昔はバグとして存在していたのでしょうか?
iOS8で修正されたとコメントしている方もいますが・・・

以下は再生・停止ボタンのコードです。

//再生・停止ボタンアクション
@IBAction func playPauseB(sender: UIButton) {
    var playerStatus = player.playbackState
    if playerStatus == MPMusicPlaybackState.Playing{
        player.pause()
        playPauseBOutlet.setImage(playB, forState: UIControlState.Normal)
    } else if playerStatus == MPMusicPlaybackState.Paused {
        player.play()
        playPauseBOutlet.setImage(PauseB, forState: UIControlState.Normal)
    }
}

ご指摘やアドバイスお願いいたします。