As strife pointed out llDeleteSubString does not currently work correctly in 1.5. It seems most likely that it has never worked correctly.
The problem is with the use of any negative index. The negative index should count back from the end of the list and otherwise behave normally. In 1.5 the negative index counts past the end of the list. For example an index of -3 on a list of length 10 would be interpreted as an index of 13 rather than 7.
The current version of preview has the fixed code for llDeleteSubString. It would be great if I could get some feedback about it, especially anyone that has existing content they can test on preview.