<font face="Arial, Verdana">Why should 0.91 be better? It is even known to not compile everything with latest ide?</font>
Your problem comes from extra board files I think. HAL.h contains
<font face="Arial, Verdana">#if defined(ARDUINO) && ARDUINO >= 100</font>
<font face="Arial, Verdana">#include "Arduino.h"</font>
<font face="Arial, Verdana">#else</font>
<font face="Arial, Verdana">#include "WProgram.h"</font>
<font face="Arial, Verdana">#define COMPAT_PRE1</font>
<font face="Arial, Verdana">#endif</font>
<font face="Arial, Verdana">
</font>
<font face="Arial, Verdana">making a difference between old Arduino < 1.0 and newer where that function that fails for you is defined. Later you have</font>
<font face="Arial, Verdana">
</font>
<font face="Arial, Verdana"><div>#ifdef COMPAT_PRE1
virtual void write(uint8_t);
#else
virtual size_t write(uint8_t);
#endif
As you see you are compiling with ARDUINO < 100 also you are using a newer Arduino version. So I think your melzi board definition files might change them causing incompatibilities later on. Not sure why they do it or if there is a alternative for the newer ides you could use. At least it looks to me that it comes from there. You could search for COMPAT_PRE1 and always delete the wrong parts to get compiled.
</span></font></div>