More info:
Graphics::Primitive::Driver::Cairo::get_text_bounding_box function calls Cairo::Context::text_extents
(line 761 in my version). This function returns good results on my Linux box (debian Squeeze/Sid) and bad results on FreeBSD box. I mean, on FreeBSD Cairo::Context says that my text takes no space at all. This is a call to libcairo.so's function, if I understand correctly.
Now I am playing with recompiling cairo, but I don't believe in success. Any hints?