RE: Record created through plugin doesn't trigger onCreate plugin
Maybe your plug-in are running and getting exceptions, or the Target image when you are creating manually is different from the ExecuteMultipleRequest records.
If you can debug, check the Fault message after the ExecuteMultipleRequest or debug the plugin directly to see if at least it fires.
Use the properties : ContinueOnErrors =true and ReturnResponses = true to help you to find the issue.
See msdn.microsoft.com/.../JJ863631.aspx
"
In general, ExecuteMultipleRequest behaves the same as if you executed each message request in the input request collection separately, except with better performance. Use of the CallerId parameter of the service proxy is honored and will apply to the execution of every message in the input request collection. Plug-ins and workflow activities are executed as you would expect for each message processed.
Custom code in the form of plug-ins and custom workflow activities can even execute ExecuteMultipleRequest. However, there are a few key points to keep in mind. An exception thrown by a synchronous registered plug-in is returned in the response collection item Fault parameter. If a plug-in executes within a database transaction, the plug-in executes ExecuteMultipleRequest, and a transaction rollback is initiated, the rollback includes any data changes resulting from requests executed by ExecuteMultipleRequest."