The flickering is indeed fixed (this wasn't really the issue but it looked more like the cause).
The fact that player doesn't respawn on the location he chose is not fixed. This was the issue I wanted to report but maybe I chose bad ticket title.
If anyone is editing the code of the respawn menu ([player] spawn BIS_FNC_RESPAWNMENUPOSITION) please share your fix before BIS solves this.
I should maybe mention that I am using respawn markers (respawn_west_xxx, respawn_east_xx) with script added positions, maybe this is causing the trouble.
I removed the "respawn_west/east_xxx" markers and tried calling BIS_FNC8ADDRESPAWNPOSITION with both objects and position arrays. The result is the same I respawn on the position where I died.
respawn = "BASE";
respawnDelay = 10;
respawnDialog = 0;
Tried with and without respawnTemplates[] = {"Base"};
Maybe the problem comes from the fact I'm calling "[player] spawn BIS_FNC_RESPAWNMENUPOSITION" from script and haven't defined any respawn templates (respawnTemplates[] = {"MenuPosition"}). It seems that [player] spawn BIS_FNC_RESPAWNMENUPOSITION must be also called at player respawn. Adding [player] spawn BIS_FNC_RESPAWNMENUPOSITION to onPlayerRespawn.sqf file seems to fix the issue (I respawn where I select).