Compile to bin file and load create different files

I saw that when I compile to bin file different files are created then when I load the program directly to the microcontroller. For example the map files
are amaizingly different (the whole organization of the memory is different).
Why is this difference? Can I make something to be sure that loading the program directly is the same like compiling to bin file and then loading with RFU? I would like to be sure that the client will have the same when he loads with RFU. I think that the program behaves slightly different when is loaded from a bin file.