OK .. I settled down and rewrote a bunch of the playlist tree manipulation and event code, and I was able to get rid of all these things you talked about here... One nasty problem in <37 was that it never checked for loops in the UI (though after sync, it would probably have caught them -- but that would result in db errors). 37 will properly look for loops through the UI and not let you create a scenario like you were talking about.