I mean, the function creates a battlefield icon, but picks the last grid icon instead of the battlefield one, thus changing its size, position, etc.
I doubt this is the case. If "Pick last created" condition goes immediately after "Create" action, then it should pick that created instance.
Perhaps the function is called with an invalid objectName? In this case the Create action will not create anything, and "Pick last created" will indeed pick some previously created icon.