Just like closed issue "why snmpget display string instead of hex-string - ID: 2999463" (though I do not see a solution) the snmpget and snmpwalk apps return a corrupt string instead of a hex string whenever the first number of a MAC address is not 00. We are getting a lot of these numbers on recently purchased Dell computers and the result is devastating. It is as though the apps assume that all MAC addresses begin with 00 to determine how to encode the result and the String encoding has a corrupt pointer. I can upload an example snmpwalk where all of the 00:xxx numbers are correct and the non 00: value is jibberish but it would duplicate the previous report. My environment is RedHat Enterprise linux compiled with the following options:
zcat net-snmp-5.5.tar.gz | tar xvf -
cd net-snmp-5.5
./configure --prefix=/usr/local/net-snmp/5.5 --disable-agent --enable-old-features --enable-ucd-snmp-compatibility --with-PACKAGE=ucd_snmp
make
make install
The cause of the problem in the other entry you mention (which was discussed on the mailing list), turned out to be due to running configure using "--disable-agent". The resulting applications ended up with a cut down list of MIBs, which loaded the old RFC1213 (which didn't display physical addresses correctly), but not the newer IP-MIB and similar (which do).
I don't know whether this matches your setup, but try having a look at which MIB files are being loaded. In partticuar make sure that IP-MIB is being loaded (and ideally that RFC1213 is not).