Validity of cross-validation for model performance estimation
Cross-validation is used to estimate the performance of a certain type of model on a specific dataset.


  one model has to be chosen as the model which is actually used for prediction on real-world samples (e.g. in a product).


Selecting one of the models obtained during cross-validation is not appropriate, and proceeding in this way would indeed cause the problem that you mention. The correct methodology is to train the final model on the full training data after cross-validation (i.e. independently from the models trained during CV). This way the performance obtained through CV is representative of the expected performance of the final model.