The difference is in the way the Hex file is formatted.

If you open a HEX file in Notepad, you'll see that it's stored in ascii text. It looks something like this:<pre><br>:10000000B2010E290408A20083168610831209305B<br >:10001000A30003101620A20CA30B0A280314162019<br>:1 00020000330A100E830C1200314092903181B285C<br>:1000 3000000086101D2886141D280130A100933071</pre>Each line starts with a colon and an address. Then each word takes 4 bytes. Add the config bytes and probably some other stuff I can't identify, and the file will get much larger than the number of actual words used.

As long as the reported number of words is less than the size of the chips memory, you should be OK.