Encore tends to assume a rate of 29.97fps. Change that in your encoding settings for the project, then try again. It should fit to the new frame rate. Standard encodes will out to 29.97 (30i–30 full frames with 2 fields interlacing at 60hz). IF you output 23.xx, you need to tell encore so that the audio is encoded with that frame rate as well (audio is expressed on it’s own in samples, but when synced with video, it conforms to the same value as the video; when you play audio at 48khz with a frame rate of 29.97 with a video at 23.xx, the two will not sync).
To get audio and video in sync, you’ll need to set your project encode settings in encore. Then the audio will be encoded at the same frame rate as the video and it will sync.
Also, I’ve had projects fail to properly associate transcodes when the audio in the premiere timeline was longer than the video, and the transcoded video lacked the last few frames where the audio stretched. Placing an empty video clip in that space in premiere fixed the missing frames and output correct transcode duration. I prefer to transcode my own in Compressor, so I also add the audio into the encore timeline as AC3 generic. It certainly saves time when I can use 4 machines to encode several transcodes, and then compare them.