Mmm I'm not sure what you mean by the player being "in visuals"... There are three info modes which show you the visuals (None, Line, and Transient.) I think we can detect which info mode we're in by reading from the empeg_state block like I mentioned before. Was there a problem with that approach that hasn't been discussed here yet?
Anyway back in the day Borislav wrote a "persistent settings" kernel hack which got around this quite nicely (among other things). I don't know if the method he used has been overcome by events, but take a look at what he did. Some of the problems his patch was originally meant to fix (separate beep settings for home/car, etc.) have been fixed by Empeg, but they won't budge on the visuals at startup thing.
Anyway see if these links are helpful.
thread
kernel patch