The question you're asking can be distilled down to a couple of components:
- Can a CFC method be called via HTTP?
- Can a rewrite rule make an HTTP request?
Obviously the answer to the second one is "yes". And - as you seem to already know - the answer to the first one is also "yes". You demonstrate the syntax for this in your RewriteRule.
The thing you need to consider here is that CF just receives requests from the web server to fulfil an HTTP request. CF doesn't know (or care) whether the request can straight through from the web server unadulterated, or whether it was rewritten by the rewrite module first.
So... if you're getting an error, it's something else. What you're trying to do from a web server / rewrite module / CF standpoint is entirely possible.
I suggest you have a look at your logs and see what's causing the 500 error. Indeed if you have robust exception handling enabled, you should be getting the cause of the error displayed on the screen.
What happens if you call the URL you're rewriting to directly via the browser address bar?