It's only the getImage() function that is called in which you first update the image and then return the pointer to the image. LCDInfo then checks if the image data has changed and updates it to lcd if needed.

I think you have the winamp2 plugin source where you could look for some example how the getImage() works ?

EDIT:
You figured it out I now decided to strip the updateData() completely out of the interface until there comes use for it so it doesn't cause mixups anymore.

It's only the getImage() function that is called in which you first update the image and then return the pointer to the image. LCDInfo then checks if the image data has changed and updates it to lcd if needed.

Are you sure about this... I update my line graph plugin in the getimage part... this seems to happen each time the set refresh rate happens because I can slow this down or speed it up!!!

You can set the refresh interval in the screen definition file. Then getImage() is called using that interval and if the data returned by getImage() is different than it was last time getImage() was called then the new data is written to the lcd.
So it should work like you described.

EDIT:
And I'll also move this into the Plugin SDK forum as that's mostly what this topic is about.

Please also just check one thing in the code I send you... on the single border draw function I defined the bmp to be eg. 64 x 32 but I had to draw the border (0,0,63,32) Width - 1 / Height - 1 else it doesn't display correctly??? Any thoughts...