the problem is that by using a general field you are relying on there being an OLE server configured in windows to display the photo.
If, in windows explorer, you right click on the jpg/bmp/gif, open with and select ms paint to always open this file it should work. Until that is another program comes along and associates itself with jpg/bmp/gif files.
For this reason general fields for photos are not a good idea (plus bloating of your fpt file).
You would be MUCH better off either
1. using filetostr() to copy the file into a binary memo field, then when you want to display it use strtofile() to create a temporary file and use the image control to display it. (In VFP9 you can use the pictureval property to bind the memo field to the image control and save having to copy the file out of the memo field and into a temp file.)
2. copy the photo into an images folder below your main data folder and save the relative path and filename in your table. Again use the image control to display the file by setting the picture property to the filename.
hth
Nigel