Using Philippe Moris advise I can across that content presenter must be applied with a ControlTemplate or your just setting the content property twice and that was why my entire control was replaced by user supplied content. The following code worked for me, but after you build the project the XAML designer throws a 'MyControl' ControlTemplate TargetType does not match templated type 'UserControl' error. This is a bug and removing the bin and obj folders from the project removes the error and the designer can be used again until its is rebuilt.
<UserControl x:Class="WpfApplication20.MyControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:WpfApplication20"
mc:Ignorable="d">
<UserControl.Template>
<ControlTemplate TargetType="{x:Type local:MyControl}">
<Border Background="Black" BorderBrush="Black">
<ContentPresenter></ContentPresenter>
</Border>
</ControlTemplate>
</UserControl.Template>
</UserControl>