maybe try calling that code at the begining of every round. the code below is vens tut on getting player spawn. in code tuts and w/e the other word is

try it it might work.
Code:
#define MAX_PLAYERS 32
new bool:g_restart_attempt[MAX_PLAYERS + 1]
public plugin_init() {
register_event("ResetHUD", "event_hud_reset", "be")
register_clcmd("fullupdate", "clcmd_fullupdate")
register_event("TextMsg", "restart_attempt", "a", "2=#Game_will_restart_in")
}
public clcmd_fullupdate() {
return PLUGIN_HANDLED_MAIN
}
public restart_attempt() {
new players[32], num
get_players(players, num, "a")
for (new i; i < num; ++i)
g_restart_attempt[players[i]] = true
}
public event_hud_reset(id) {
if (g_restart_attempt[id]) {
g_restart_attempt[id] = false
return
}
player_spawn(id)
}
// this function is called on player spawn
public player_spawn(id) {
// code for player model goes here
}