The option that is taking that screenshot is in your project properties (Tools | Options | Current Project Properties | Playback). There's an option there that says, "post image on error". If that's checked, any time a log entry of the Error type is written, it will take a picture. This is a default event of your project, not a function of the Log.Error method. For that function, either it will take pictures every time... or never.
What I would suggest is that you turn that option off... and then, use the OnLogError event handler. Put logic in that handler that, if the error text does not contain a particular string, call "Log.Picture" and take your screenshot. That way, you can filter the log so that, for certain errors, you don't get the screenshot.