if (!(buffertask = (MsgPort *)CreateProc(Buffertaskname, 0L, buffertaskSegList, 1000L)))
Your casting is wrong. It should be (struct MsgPort *), just (MsgPort *) alone is nothing and VBCC complains.
And, do you have:
struct Process *buffertask;
?
If so, it is broken because it is not returning struct Process *...