In all probability, there is nothing wrong with your formula. The issue is that Quickbase does automatic caching of images in the interest of performance. But it's frustrating for users to have to wait like until the next day for the image to update. :(
I believe that this link will defeat the caching as long as you change the file name when you do the next upload.
"<img src=" & URLRoot() & "up/" & Dbid()
& "/g/r" & QB32Encode([Record ID#])
& "/e" & QB32Encode(12) // 12 is the fid of the file attachment field
& "/va/" & URLEncode([Picture]) // my file field is called [picture]
& " width=30>"
So if you make that your $pix variable it will probably work nd update the 12 and the [Picture] to match your own fields, it should work.