Running MAX7219 at 3.3v with ESP8266?
Since you are only writing TO the MAX7129 and not reading from it, what matters is that it sees your inputs correctly.  On the datasheet the minimum input voltage for a high is spec'd at 3.5V.  In reality it is probably less than that, and typically in the 1.5V range, but this is not guaranteed.  However, for non-critical applications, it should work.

You can test what the actual threshold is.  Put a potentiometer from +5V to GND with the wiper on the DIN input instead of a connection from the ESP8266 and write to the display.  Vary the potentiometer setting to find the voltage that the MAX7129 clocks in as 1s instead of 0s.  As long as the threshold is sufficiently below 3.3V (~2.3V or less is good, ~3.0V or higher is marginal), it should work fine.

As for the PI lockups, it definitely has problems if you overload the +5V, so make sure the PI supply has sufficient current if you are powering the modules off of it.