I could write a book on the subject! Here are the most common reasons your pattern ends up a different size than what BeadTool calculates
No matter what the bead manufacturer boasts, no bead is uniform. Every-single bead I have ever measured with a digital caliper is a different size than the one before it. Each size difference adds up so the larger your pattern, the larger the inconsistency between BeadTool and the stitched pattern.
BeadTool calculates the size of your pattern based on the first bead you add to your pattern. So if you accidentally add a Size 10/0 bead onto your new pattern and then design the rest of your pattern using 11/0 beads, BeadTool will still calculate the size based on that first 10/0 bead you added. The only way to get BeadTool to recalculate the pattern size is to click the New button or click Pattern->Transpose.
Seed beads are always taller than they are wide. So when you set the dimensions of your pattern, you must take care to set the rows according to the vertical pattern size (height) and the columns to the horizontal pattern size (width). Switching them will give you inaccurate pattern measurements.