I suspect at least some of the violations are intentional. Bitcoin Discussion gets a lot of traffic, and most people want maximum thread visibility. Even if their thread gets moved, they still have the 'Moved Thread' link in Bitcoin Discussion.
I am not really sure how to combat this. Enforcement and punishment, especially with regard to differentiation between intentional and unintentional violations, would be challenging and time-consuming. 'Moved Thread' links are necessary in order not to confuse people who had previously posted. Immediately, I suppose you could try implementing some sort of 'Category Suggestion' feature in thread creation based on keywords in a thread title, but I have no idea how hard that would be to implement in SMF or how much of an impact it would really have.
Hmm. Interesting conundrum.
I'm starting to clear up my old 'Moved Thread' posts, and I'm making it a point to not post them if the thread's fairly new. The new features are up to theymos, though.