We set it (non efis) when cleared to descend. If you are cleared after a fix, then you are not cleared to descend until that fix is reached, therefore alerter gets set at the fix, not before. Our SOPs are no where near perfect either, so I feel your pain.