Just to reply to my own post and confirm what I found... hope this is helpful to anyone that may need the same information.
Rectangle Fill was the initial source of my confusion as I had assumed Rectangle was working as expected and something was not right with Fill... it turns out that both statements have a little getting used to.
NOTE: Each pixel is 2 graphic units so 32 graphic units is 16 pixels
RECTANGLE draws a box with dimensions one extra pixel high and to the right.
e.g. RECTANGLE 64,64,32,32
Box starts at 64,64 and finishes at 96,96 which is 17 pixels wide and 17 pixels high, not 16 as we might expect, so to get the box to draw with the expected dimensions subtract 2 from the width and height as follows:
RECTANGLE FILL creates the correct dimensions for a filled box but due to the way BB4W handles the plotting the box gets plotted 1 pixel higher (2 graphic units) probably because it calculates the start coordinate (top left) by adding the height to the starting point without subtracting 1 pixel to make the height match what is specified.
e.g. RECTANGLE FILL 64,64,32,32
Draws a filled box starting at 64,66 and finishes at 94,96 which is 16 pixels wide and 16 pixels high... just not where we specified.
To get the box to plot where we expect just subtract 2 from the y start position as follows:
RECTANGLE FILL 64,62,32,32
Now the box will draw at 64,64 and extends 16 pixels in width and height..