The thing to remember is if play around with NTFS files the Linux programs are experimental only and may break down.
If you use "dd" then the partition is copied natively in 1s and 0s and no filing system is involved. That is why Linux can clone XP and still makes it bootable even officially it can write on a NTFS partition. The downside is since no filing system is used you don't get a compression. In your case the whole of the 50Gb will be mirrored unless the your XP is in a smaller partition. At 50Mb/s transfer rate obtainable from dd a 50Gb cloning should take about 1000 seconds which isn't much.
What you can improve on is to use a modern LiveCD with QTparted inside to "resize" the XP partition to a smaller size, say 10 or 12Gb. Both Kantotix and Knoppix have QTParted inside the LiveCD. As a rule you should defrag XP before resizing it.
In your case I would clone the partition, say from hda1 to hdb1 by a simple command
Code:
dd if=/dev/hda1 of=/dev/dev/hdb1 bs=32768
The block size 32768 is a product of 64 sectors times 512 bytes per sector, making one full track being cloned at a time. Not providing a size for bs then dd will default to 512 byes. You still have a full 250Gb in the hdb no matter what you do.