Recently on a test, my 3rd grade ds was asked to express the Arabic numeral 746 in Roman numerals. My son broke it down and came up with DCCVLI but the answer key says DCCXLVI. Is there more than one way to express some numerals or are we missing some sort of rule?

The applicable guideline here is one that states that a Roman numeral representing 10^n can not precede a symbol representing more than 10^n+1. For instance, V can not precede C, since C is more than 10x V. However, since L is 10x V, both versions should work, and even the rule I just gave is often considered optional.

Short version: V in front of L is ok, just not V in front of C. Both versions are correct.