Hi,
I might be replying a little late, but never mind!
The ArcGIS licensing says:
* If you're "extending (customizing)" Desktop, you either need an ArcGIS license (Viewer/Editor/Info) or a runtime license of the same. By installing ArcMap on the target machine, all conditions are satisfied and you don't need any separate license. However, you should not use the same license for both development and production, as it violates the ESRI license agreement.
* ArcGIS Engine now comes under EDN and in order to develop Engine applications (which essentially are standalone applications and do not require ArcGIS installation as a pre-requisite), you need to have a development license and a runtime license. EDN is subscription based.
Till the time you're installing ArcGIS Dektop on target machine, you can either use VBA or .Net and other supported development frameworks to code your customization, choice is yours! The licensing would be implicit as you would be acquiring some or the other license for the Desktop installation on target machine.
Please note that the features/functionalities available to the custom code would purely depend on the license level (i.e. View, Editor or Info) of ArcGIS. What I mean is, if you develop using ArcEditor and purchase a ArcView license on the target machine (to save cost or whatever reason), ONLY ArcView functionalities would be available to the custom code, or might just fail.
In short, the capabilities exposed to the custom code are directly equal to the license checked out by the ArcGIS Desktop.
Hope it helps...!