I don't think it's really intentional, just laziness.
hehe...Cool. Just wanted to make sure I wasn't missing something.
We have the
concept of a temporary smart playlist -
src/Core/Banshee.Services/Banshee.SmartPlaylist/SmartPlaylistSource.cs
- could bring that (or something similar) over to PrimarySource.cs.
Yup, saw the code there to delete when the isTemporary field is 1.