There are multiple problems with you approach.
a.) If there are any meta data in the source files, you copy the meta data. In the concatinated file, those meta data (Id3v1 and Id3v2) will be present multiple times and worse, at locations where they are not supposed to be (Id3v1 must be located at the end of the file, Id3v2 at the beginning IIRC). This can confuse the decoder to recognize the file as corrupt (it may play the first section and then hiccup on the unexpected meta data of the 2nd part).
b.) Calculating the length of an MP3 isn't all that simple, one would need to count the number of MP3 frames in the file. Since there is no header that tells the number of frames, the only safe way to do this is scan the file sequentially (like a decode). This used to be a costly operation when MP3 was introduced, so there were multiple ways introduced to remedy this (VBR header block and Id3 meta tags). If your player relies on these, it will always detect the length as only the 1st part.
c.) Even if you strip away meta data properly, you can only concatenate MP3 streams using the same parameters (sample rate), some decoders may even have additional restrictions on bit rate and type (mono/MS/Istereo etc.).
You see, it can be done, but its not trivial.