Just looking at your first 2 lines tells me that this won't work. The my pointer is a pointer to the local memory of the computer where the code is executed. --> It's called a local pointer.
If you send this pointer to a different computer, the pointer will point to something different because on this computer the memory has a different content and order.
You can solve this by using a global pointer. A global pointer is always pointing at the same entity on all computers. This would be correct:
//initialize the array as var (because a glob. pointer is a var
//and set all values to ANET_ERROR
var players[MAX_PLAYERS] = {ANET_ERROR};
//on create if creator = client id
players[enet_get_clientid()] = enet_ent_globpointer(my);
enet_send_array("players",0,15,BROADCAST);
//if you want to do something with the entity on a different computer:
my = enet_ent_locpointer(players[enet_get_clientid()];
Please notice that only global created entities (using enet_ent_create()) have a global pointer! Using enet_get_globpointer() for an entity created with ent_create() will cause an error.
Does that solve your problem?