If you have a hijack kernel installed, there is an option in the Hijack kernel for "Volume Level On Boot". That might have gotten accidentally pressed, and configured to "Use current volume", at a moment in time when your player volume was set to -46. To fix it, set it to "Use previous volume." Then the player will boot up at whatever volume level it was at when the power was last pulled.

Also note: the "Volume level on boot" setting is separate for home-mode/car-mode, so if the player is booting into the opposite mode that you expect it to, it might be another accidentally-selected hijack setting (force DC/Car mode or force AC/Home mode), or a bad DC jack on the player, with the sensing switch getting flaky on the jack. (Details here: http://riocar.org/FAQ/8/87.html#87 )
_________________________
Tony Fabris