Why do you need a plugin in first place ?
Short answer is: you don't. In majority of cases you are better of using AFL. It is easier to use.
But if you really want to squeeze every bit from some tight loop, coding it as a DLL may be an idea to consider. Also if you want to connect AmiBroker with some 3rd party feed you will need a plugin.
Where do I start?
For start you need to have working knowledge of C/C++. Without that it is difficult and learning curve would be very steep.
If you know how to program in C/C++ you can simply download the ADK (AmiBroker Development Kit).
Where do I get ADK from?
You can download ADK from download section of AmiBroker web site http://www.amibroker.com/download.html (scroll down to see it)
What can I find in the ADK?
You can find description of the API (programming inteface) and code examples for both AFL and data plugins
Is the API current? (It was posted in 2006)
Yes it is current. It had some minor updates a couple of times (mainly to support 64 bits), but yes our API was well-thought, designed to be future-proof and stable so we did not need to change