If you don't use the compatibilty pack you no longer have OperationResult available and with the task-based async pattern you don't use callbacks anymore at all. So, your method would look like this.
public async Task<IEnumerable<SomeObject>> MyMethodAsync(INDICATOR i)
{
var query = entityManagerProvider.Manager.SomeStore(UserService.CurrentUser.IDUtente, i.ID);
return (await query.ExecuteAsync()).Cast<SomeObject>();
}
And the caller would call it like this:
IEnumerable<SomeObject> result = await MyMethodAsync(....)