Question about Metafile(Help me)

I drew a line with 10mm-length on metafile-canvas and drew the metafile
both on a screen and on a printer.
I expected that the lines on the screen and on the printed paper had a
same length, but their length were different.  The line on the screen
has about 10mm length, but the line on the printed paper is shorter.

Why different?
The MM_LoMetric map mode is a device-independent mapping mode, isn't it?
What should I do for two lines to have same length?
Could anyone help me?

( When I draw directly the line on the printer-canvas instead of the
metafile-canvas, it has 10mm-length.  )

Here is my test code (Delphi 5).

procedure TForm1.Button1Click(Sender: TObject);
var WMF : TMetaFile;
    WMFCanvas : TMetaFileCanvas;
begin
  WMF:=TMetaFile.Create;
  with WMF do begin
    Enhanced:=true;
    MMHeight:=5000; // =50mm
    MMWidth:=5000;
  end;

  try
    WMFCanvas:=TMetaFileCanvas.Create( WMF, 0 );
    try
      with WMFCanvas do begin
        SetMapMode( WMFCanvas.Handle, MM_LoMetric );
        MoveTo(0,0);
        LineTo(100,0);
      end;
    finally
      WMFCanvas.Free;
    end;

    //Draw Metafile on screen
    PaintBox1.Canvas.Draw(0,0, WMF);

   //Draw MetaFile on printer
    with Printer do begin
      BeginDoc;
      Canvas.Draw( 0, 0, WMF );
      EndDoc;
    end;
  finally
    WMF.Free;
  end;
end;

-Seungho Jung