Interesting. First: it looks like every time you run AddItem_Click() you are resetting your bord list back to zero. I think you'd want to check if it's null if what you really want to do is 'Add' to the list.
second: Have you used the debugger to check what the sender is? I would expect sender to be the actual list item (Border), since that is what you attached the mouse event to.
several problem with the RemoveItem_Click. you are reusing 'bord' and wiping out what ever was in it before this is pore practice.
I also expect the Sender should really be the Border you are wanting to remove from the list.
private void RemoveItem_Click(object sender, RoutedEventArgs e)
{
bord = sender as List<Border>;
Warp.Children.Remove(bord[?]);
}
So replace
bord = sender as List<Border>;
with
Border item = sender as Border;
then
Warp.Children.Remove(item);
should work. you get null because you are trying to cast something (Border) to something that it isn't (List<border>)