Q: I have a number of smart playlists but, after a month or so, they get stale. Is there any way to get them to refresh periodically and automatically with all new songs that fit the playlist criteria
I don't know of any way to do so automatically, but it's easy to do so manually. Just select all the tracks in a playlist--click one track, then press Command-A--and press the Delete key. They tracks will be removed from the playlist, and iTunes will repopulate it using the conditions you set for it.
However, perhaps you want to use live updating, so playlists change as you play them. If you select the Live updating option in the smart playlist window, iTunes will constantly update the playlist according to the tracks' metadata. You'd generally use this for playlists that have a "Plays" or "Last Played" condition; it doesn't work for metadata that doesn't change, such as artist, genre, and so on. For example, you might want to create a playlist of your favorite songs by a certain artist, or from a specific genre, but only those you haven't listened to in the past month.
The screen shot below shows a smart playlist of mine for music by Bob Dylan. I have lots of Dylan--all of his albums--and this playlist looks for tracks that I haven't listened to in the past three months. Every time a track is played, it gets removed from the playlist--because its Last Played date is now less than three months ago--and another track gets added.
Q: Since upgrading to iTunes 11, I find that Plays and Last Played date don't change when I play songs. I've gone through the preferences, but can't find anything to change to make this work correctly. Do you have any ideas