This is not your insurance companies fault- all policies work that way. There are two basic ways of covering jewelry. Your basic policy covers theft, period. It makes sense if you think about it. Can you imagine what your premiums would be if we all had to pay for every time someone lost a ring?! Any one could simply say they lost a ring/necklace, etc and get paid for it. If something is actually stolen, you then need to contact the police. This prevents a lot of fraud. A lot of people are willing to say something was stolen but won't make a police report because they don't want to get arrested for filing a false report. Again, this prevents fraud. "Mysterious disappearance" simply means that you don't know when it went missing so can't say it was stolen. However, if you feel strongly that it was stolen, call the police and file a report. The insurance co. will more likely honor that if you can name a time and place (ex. Saturday when the repair company was here, etc).
The second way to get your jewelry covered is to have a special rider protecting either a particular piece (ex. wedding ring) or an amount covering all of your jewelry (this is better if you have a lot of jewelry). This special rider is an additional cost above your policy cost but it protects the jewelry from any loss (ex. dropped it down the sink).
I can appreciate that you feel angry at your ins. company but they are not the bad guys here. Insurance companies have to limit certain types of coverage because of fraud. You should be angry at your home repair person and seriously consider filing charges. Good luck.