Short Version: Either your frame parser is losing sync and reading compressed audio data as a frame header, or you are seeing files that were originally two different MPEG streams that have been concatenated together.
TL;DR: MP3 generally expects frames to be consistent in layer, channel count (notice I didn't say "mode"), & sample rate for any given stream. The spec doesn't say "These must be consistent in the stream" or anything like that, but it does define a decoder that pretty well requires them to stay consistent for proper operation. Other fields can generally change from frame to frame, though only bit rate index and channel mode / sub-mode are likely to change.