I think this must be a recent change as I'm pretty sure listassets didn't do this in previous versions. By returning a 500 most clients (mine included) assume a fatal error of some kind and abort the request. This isn't great since I was checking for the existence of an asset as part of my processing which now fails!
This should return a 404 as not found for http consistency or 200 and empty as I'm not techniucally going a "GET", more a list with a filter, so 200 is probably more consistent.
Either way a 500 is a bit brutal :)