CJam, 87 bytes 80.91 score (89 bytes - 10% bonus)
Update version that qualifies for the bonus while growing by 2 bytes:
l_'{#){VX@{";{}"#)" _@+\ 4* 4/"S/=~}/;}{i_4<{"{}"\';*}{{4md\_{F'{\+'}+}{;L}?\';*+}:F~}?}?
[Try it online][1]
First time I used recursion in CJam! The whole thing may look kind of lengthy, but the two completely separate conversions add up.
I used a completely separate case for converting numbers smaller than 4 to Curly. It's probably possible to avoid that, but folding the special case handling into the recursive function wouldn't be entirely trivial. And adding the extra {}
as a post-processing step didn't really look any better, even though I should try again if it might be slightly shorter.
[1]: http://cjam.aditsu.net/#code=l_'%7B%23)%7BVX%40%7B%22%3B%7B%7D%22%23)%22%20_%40%2B%5C%204*%204%2F%22S%2F%3D~%7D%2F%3B%7D%7Bi_4%3C%7B%22%7B%7D%22%5C'%3B*%7D%7B%7B4md%5C_%7BF'%7B%5C%2B'%7D%2B%7D%7B%3BL%7D%3F%5C'%3B*%2B%7D%3AF~%7D%3F%7D%3F&input=%7B%7B%7B%7B%3B%7D%7D%7D%3B%7D