Well, I don't know Delphi, but I do know the plugin system quite well (since I wrote it
)
Everything *looks* ok (though that doesn't really say much). You may want to check to make sure delphi isn't aligning the structure. In C, you have to use #pragma pack to get it to align on bytes rather than words or double words.
Can you step through the code in delphi? I'm not sure how advanced their debugger is, but I know in VC++ you can debug a dll without actually debugging the program that uses it.
Is it crashing in kmeleon, or in your plugin?