Well that was instructional! Thanks for the working part, as it told me both what is wrong and what Fritzing cares about. There are two differences between my original and yours: the fpz has no copper0 defined in the pcb layer (where mine did) which is the main problem, and you have an empty copper0 under copper1. This (other than the order of the coppers) it doesn't seem to care atbout. It puts the part on the first copper defined (which happened to be copper0 and thus wrong in my case as it by default was putting the part on the bottom layer). It is perfectly happy with the usual copper1 with copper0 under it followed by the pads under copper0 as long as copper1 is first (which is how this new part is arranged). This was doubly useful in that it also tells me some more things to check for in the python script that checks parts. I'm not sure yet how I'm going to figure out if this is an smd part (probably by no copper0 definition in the layers) but at least I have something else to check for (not that I don't have enough problems already ). Here is a corrected part where the pads only appear on the top layer (unless you move the part to the bottom) rather than both layers. I need to check this is the correct part as it seems to be using the old file name even though I changed the fzpz filename ...
edit: yep despite the name this appears to be the modified file ok, please use it in place of the first one.
Bluetooth HC05 SMD.fzpz (11.8 KB)