Good point - Though it should be easy to determine if the router is proxying arp requests (lot's of IP's with the same MAC).
The only really reliable way of getting all MACs, I can think of would be polling SNMP enabled switches, assuming that each subnet is running switched traffic.