I recently encountered the problem of Doom 3 always resetting itself to 640x480 resolution and may have found a solution for others who have had the same issue.
In my case, I have my Windows services optimized to only have the bare minimum required services running, which saves a lot of memory. I was running Doom 3 just fine in 1280x1024 until one day when I disabled "Terminal Services". After that, the game would only run in 640x480. Setting Terminal Services back to "Manual" fixed this problem.
To ensure that Terminal Services isn't disabled:
1. Log in to Windows with an account that has Administrator rights.
2. Go to Start->Control Panel->Administrative Tools->Services.
3. Find "Terminal Services" on the list and make sure it is set to either "Manual" (recommended) or "Automatic". You can change the startup type by right-clicking on the service and choosing "Properties".
unbindall
bind "TAB" "_impulse19"
bind "ENTER" "_button2"
bind "ESCAPE" "togglemenu"
bind "SPACE" "_moveup"
bind "/" "_impulse14"
bind "0" "_impulse10"
bind "1" "_impulse0"
bind "2" "_impulse1"
bind "3" "_impulse2"
bind "4" "_impulse3"
bind "5" "_impulse4"
bind "6" "_impulse5"
bind "7" "_impulse6"
bind "8" "_impulse7"
bind "9" "_impulse8"
bind "[" "_impulse15"
bind "]" "_impulse14"
bind "a" "_moveleft"
bind "c" "_movedown"
bind "d" "_moveright"
bind "f" "_impulse11"
bind "q" "_impulse9"
bind "r" "_impulse13"
bind "s" "_back"
bind "t" "clientMessageMode"
bind "w" "_forward"
bind "y" "clientMessageMode 1"
bind "z" "_zoom"
bind "}" "_mlook"
bind "BACKSPACE" "clientDropWeapon"
bind "PAUSE" "pause"
bind "UPARROW" "_forward"
bind "DOWNARROW" "_back"
bind "LEFTARROW" "_left"
bind "RIGHTARROW" "_right"
bind "ALT" "_strafe"
bind "CTRL" "_attack"
bind "SHIFT" "_speed"
bind "DEL" "_lookdown"
bind "PGDN" "_lookup"
bind "END" "_impulse18"
bind "F1" "_impulse28"
bind "F2" "_impulse29"
bind "F3" "_impulse17"
bind "F5" "savegame quick"
bind "F6" "_impulse20"
bind "F7" "_impulse22"
bind "F9" "loadgame quick"
bind "F12" "screenshot"
bind "MOUSE1" "_attack"
bind "MOUSE2" "_moveup"
bind "MOUSE3" "_zoom"
bind "MWHEELDOWN" "_impulse14"
bind "MWHEELUP" "_impulse15"
seta radiant_entityMode "0"
seta gui_mediumFontLimit "0.60"
seta gui_smallFontLimit "0.30"
seta net_socksPassword ""
seta net_socksUsername ""
seta net_socksPort "1080"
seta net_socksServer ""
seta net_socksEnabled "0"
seta win_ypos "22"
seta win_xpos "3"
seta sys_lang "spanish"
seta s_decompressionLimit "6"
seta s_useEAXReverb "1"
seta s_useOpenAL "0"
seta s_libOpenAL "openal32.dll"
seta s_numberOfSpeakers "2"
seta s_doorDistanceAdd "150"
seta s_globalFraction "0.8"
seta s_subFraction "0.75"
seta s_playDefaultSound "1"
seta s_volume_dB "0"
seta s_meterTopTime "2000"
seta s_reverse "0"
seta s_spatializationDecay "2"
seta s_maxSoundsPerShader "0"
seta r_debugArrowStep "120"
seta r_debugLineWidth "1"
seta r_debugLineDepthTest "0"
seta r_cgFragmentProfile "best"
seta r_cgVertexProfile "best"
seta r_forceLoadImages "0"
seta r_shadows "1"
seta r_skipBump "0"
seta r_skipSpecular "0"
seta r_skipNewAmbient "0"
seta r_renderer "best"
seta r_brightness "1"
seta r_gamma "1"
seta r_swapInterval "1"
seta r_useIndexBuffers "0"
seta r_customHeight "1366"
seta r_customWidth "768"
seta r_fullscreen "1"
seta r_mode "-1"
seta r_multiSamples "0"
seta image_downSizeLimit "256"
seta image_ignoreHighQuality "0"
seta image_downSizeBumpLimit "256"
seta image_downSizeSpecularLimit "64"
seta image_downSizeBump "0"
seta image_downSizeSpecular "0"
seta image_useCache "0"
seta image_cacheMegs "20"
seta image_cacheMinK "200"
seta image_usePrecompressedTextures "0"
seta image_useNormalCompression "0"
seta image_useAllFormats "1"
seta image_useCompression "0"
seta image_preload "1"
seta image_roundDown "1"
seta image_forceDownSize "0"
seta image_downSize "0"
seta image_lodbias "0"
seta image_anisotropy "8"
seta image_filter "GL_LINEAR_MIPMAP_LINEAR"
seta gui_filter_game "0"
seta gui_filter_idle "0"
seta gui_filter_gameType "0"
seta gui_filter_players "0"
seta gui_filter_password "0"
seta net_clientDownload "1"
seta net_master4 ""
seta net_master3 ""
seta net_master2 ""
seta net_master1 ""
seta net_clientMaxRate "16000"
seta net_serverMaxClientRate "16000"
seta m_strafeSmooth "4"
seta m_smooth "1"
seta m_strafeScale "6.25"
seta m_yaw "0.022"
seta m_pitch "0.022"
seta sensitivity "5"
seta in_toggleZoom "0"
seta in_toggleCrouch "0"
seta in_toggleRun "0"
seta in_alwaysRun "0"
seta in_freeLook "1"
seta in_anglespeedkey "1.5"
seta in_pitchspeed "140"
seta in_yawspeed "140"
seta gui_configServerRate "0"
seta com_guid ""
seta com_preloadDemos "0"
seta com_compressDemos "1"
seta com_product_lang_ext "1"
seta sv_punkbuster "0"
seta cl_punkbuster "0"
seta com_videoRam "64"
seta com_showFPS "0"
seta com_purgeAll "0"
seta com_machineSpec "3"
seta g_decals "1"
seta g_projectileLights "1"
seta g_doubleVision "1"
seta g_muzzleFlash "1"
seta mod_validSkins "skins/characters/player/marine_mp;skins/characters/player/marine_mp_green;skins/characters/player/marine_mp_blue;skins/characters/player/marine_mp_red;skins/characters/player/marine_mp_yellow"
seta g_mapCycle "mapcycle"
seta g_voteFlags "0"
seta g_gameReviewPause "10"
seta g_countDown "10"
seta g_password ""
seta g_showBrass "1"
seta g_showProjectilePct "0"
seta g_showHud "1"
seta g_showPlayerShadow "0"
seta g_showcamerainfo "0"
seta g_healthTakeLimit "25"
seta g_healthTakeAmt "5"
seta g_healthTakeTime "5"
seta g_useDynamicProtection "1"
seta g_armorProtectionMP "0.6"
seta g_armorProtection "0.3"
seta g_damageScale "1"
seta g_nightmare "0"
seta g_bloodEffects "1"
seta ui_showGun "1"
seta ui_autoReload "1"
seta ui_autoSwitch "1"
seta ui_team "Red"
seta ui_skin "skins/characters/player/marine_mp"
seta ui_name "Player"
seta si_spectators "1"
seta si_usePass "0"
seta si_warmup "0"
seta si_teamDamage "0"
seta si_timeLimit "10"
seta si_fragLimit "10"
seta si_maxPlayers "4"
seta si_map "game/mp/d3dm1"
seta si_gameType "singleplayer"
seta si_name "DOOM Server"
seta g_spectatorChat "0"
seta net_serverDlTable ""
seta net_serverDlBaseURL ""
seta net_serverDownload "0"
seta r_aspectRatio "1"
seta si_serverURL ""
seta net_clientLagOMeter "1"