The most common problem with mkgmap created maps is that creators don’t use --mapname option. If you haven’t set different values for each map, than you can’t join your maps.

mkgmap uses default value --mapname=63240001. This value is the real ID of map tile. Your GPS won’t accept 2 tiles with the same ID.