Use 203 on 203dpi printer and 600 on 600dpi printer.
Use NarrowBarWidth (set it to e.g. 2) property to make barcode wider, if it's too small and barcode is unreadable.
If you use non printer dpi value, your barcode image is going to be blurry in most cases. Of course 150 on 600dpi won't look bad as 600 is divisible by 150.
You can't control the barcode width directly as all barcode bars must
have the same width.
You can use NarrowBarWidth property to set the width of the narrow bar.
If the bar width (NarrowBarWidth) is set to 2 and you've got 10 bars in your barcode then the barcode is 20 points wide.
You can not scale it to take 21 points,
because that would mean that one bar is wider then the rest.
Such barcode most likely would not be readable.
That's why you are not allowed to change the width of the barcode only
the width of single bars.
For XDpi parameter you should choose the target device/printer resolution.
For example if you set the resolution to 300dpi.
150 pixels will take about 0.5 inch.
For 600dpi, 150 pixels take twice less space (0.25 inch).
So if your printer has high resolution you can set width more accurately.