The term is regarded by some as offensive because it is not the term many Romani use for themselves and because it is popularly linked with the term "gyp/gypped", meaning that someone has taken something of value. The etymology of "gyp" is not without question, but the perception that it is linked with the term "gypsy" is enough to cause offense for some. "Gyp/gypped" apparently began appearing in the English language by the mid eighteenth century. I cannot find any clear evidence of when Romani perceived a link or began to take offense, but it is not unreasonable to believe it was soon after the phrase began to be used. Many English-speaking users of the term "gyp/gypped" may have been unaware that it could be taken as an ethnic slur (including at the present). It is not unlike the terms/phrases "getting away Scot free" (implying Scots are cheap), "he welshed on the deal" and "Indian giver" (implying that the Welsh and Native Americans are not to be trusted), and "I jewed him down" (implying that Jews are good at haggling). Often these phrases are employed by people who do not consider the content of their words. The origin of some terms are more obvious than others. And the degree of the offense is relative, dependent on the intent of the speaker and the perception of the listener.
I suspect there is no body of material that can inform us as to when Romani began to take offense at the word "gypsy" - which originally suggested that these refugees from the northern part of the Indian subcontinent were taken for displaced Egyptians. The Romani may or may not have encouraged that perception to enhance their marketability as exotic fortunetellers. The transformation of this misapplied ethnic identification into a term meaning "to steal from", cropping up in the eighteenth century in English would have been the most likely time to begin regarding the term as an ethnic slur, if only on the part of a few.