Most of the code needed to compile and run your example is missing, if you provide a fully working example then you'll have a better chance of this question being answered. In the mean time try setting the border's SnapsToDevicePixels property to "True".
UPDATE: you've got a few problems going on here. Your Canvas is the wrong size and has a 1 pixel margin, your border isn't giving it enough space and you're assuming that the hit test means the cursor is within the canvas limits (default hittest behaviour in WPF is a hit along the right edge as well). Try changing your xaml to this:
<Border x:Name="CanvasBorder" BorderThickness="1" BorderBrush="Black" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="50,50,0,0" >
<Canvas x:Name="CanvaContainer" Background="Transparent" Height="480" Width="540" MouseMove="CanvaContainer_MouseMove" />
</Border>
And the start of your mouse move handler to this:
private void CanvaContainer_MouseMove(object sender, MouseEventArgs e)
{
var pt = Mouse.GetPosition(CanvaContainer);
if ((pt.X >= CanvaContainer.ActualWidth) || (pt.Y >= CanvaContainer.ActualHeight))
return;
Position(pt.X, pt.Y, out xCurrent, out yCurrent);