For some odd reason I thought that just adding a start and end cap object would be easy with the Array modifier but I guess not. Any ideas?
The array start and end caps are placed using the same offset distance as each repetition.
The geometries position relative to the object origin plays a part in the positioning. Using a plane with each repetition spaced at 1.1 we can see that an end cap with an origin in the centre will match up with the array while a start cap with the mesh starting at the object centre will be disconnected from the array. Also note that if the original objects mesh is not centred around the origin it can also move the extremes of the final mesh which will require adjustments for the end caps to match up.