There are two common causes for this problem.
Cause #1: You are not obeying the PC rules when you name the picture. There are specific and very rigid rules you must follow when you name a file being transferred to a PC; the slightest deviation means the file will not work. The file name must contain no "funny" characters like / or ? or \ or *, and it must end in a period and a special three-letter code that describes the file. The code for a JPEG is ".jpg".
Cause #2: The person receiving the file is not decoding it right. All files must always be encoded in order to be sent through email. Many Mac programs, such as Mail.app, use a type of encoding called "appledouble." Appledouble breaks the file into TWO pieces--one that contains the actual data, and one that contains information that only a Mac can use--information like the icon and the Type/Creator codes.
PC programs often can not read AppleDouble files, which means that the PC user sees TWO attachments. They both have the same name. One is tiny, and can not be opened--only a Mac can use it. The other is bigger, and contains the actual file.