Your code looks identical to what I posted, and to what I've currently got running on three different sites.
I've checked what you posted three times, and came up with nothing but eyestrain... I suspect you've either got a stray character in there, or perhaps you missed a space or a pipe.
You could comment out the lines with IP address RewriteConds one-at-a-time and see if you can zero in on one line. Sometimes the error log is off by a line or two. Don't comment-out the USER_AGENT lines, though - you'll block everyone except the remaining IPs!
Yeah, it WAS lacking proper spacing. It's working now, or at least the htaccess file is not bringing down the site. Thanks for the tip on commenting out lines to narrow it down, that's what help me find the error.