ScrollingMessageFrame:AddMessage() has an 'addToTop' argument which ignores the frame's insert mode. This is used in the combat log. Perhaps you should look into that.
http://wowprogramming.com/docs/widge...ame/AddMessage
You could do something like:
Code:
local oldAddMessage = ChatFrame1.AddMessage
ChatFrame1.AddMessage = function(frame, text, red, green, blue, lineID, addToTop, accessID, extraData)
return oldAddMessage(frame, text, red, green, blue, lineID, true, accessID, extraData)
end