None of the bacteria products will work on urine only - you must also have fecal matter in the tank for either Odorlos or KO to work. They work via biologic breakdown (one bug eating another bug) and if there's no "food" in the tank for them, they die off in short order. You shouldn't ever use a holding tank for urine-only, and expect it not to smell.
Formaldehyde is a known carcinogen, and is listed as a Hazardous Material, so I'd shy away from it whenever possible. Plus, I've been told by a chemist that formaldehyde doesn't actually kill the smell - instead, it disables the smell receptors in your nose, so that you can't smell anything. The stink is still there, it's just that you can't smell it. Don't know if this is true or not, but when I "dose" the tank in my RV with formalin-base powder from Wal-Mart, I do notice an irritation in my nasal passages, so maybe there's actually something to that claim.