Using Gambit 4.8.8 on an Arch Linux system:

> (load "srfi-48.scm")
"/home/dca/Software/newcash/gLibraries/srfi-48/srfi-48.scm"
> (format "~a & ~7,2F\\%\\\\\n" "Framingham Mass Muni Purpose Loan" .997554209949891)
*** ERROR IN compose-with-digits, "srfi-48.scm"@86.46 -- (Argument 2) NUMBER expected
(+ 1 #f)

Previous calls in my code with the numeric argument > 1 worked (in the sense of not producing errors), but here's an example where the result seems incorrect:

2> (format "~a & ~7,2F\\%\\\\\n" "Framingham Mass Muni Purpose Loan" 1.997554209949891)
"Framingham Mass Muni Purpose Loan &    2.10\\%\\\\\n"

3> (/ (round (* 1.997554209949891 100)) 100)
2.

/Don Allen