[eluser]TheFuzzy0ne[/eluser]
Some general advice. CodeIgniter has a [url="http://ellislab.com/codeigniter/user-guide/libraries/sessions.html"]session library[/url] for you to use. It can make things a lot easier, I recommend you look into it. As you're using the session library anyway, it makes sense to use it to it's full potential.
CodeIgniter also has [url="http://ellislab.com/codeigniter/user-guide/libraries/input.html"]a cleaner way to access post variables[/url], so you don't have to keep checking if they are set or not (they return FALSE when they don't exist).
For repopulating the form, use set_value(). I see you're setting the form data in your view which I didn't notice, so here's an example of how to use it:
Code:
$data = array('name'=>'email','id'=>'email','size'=>35, 'value' => set_value('email'));
echo form_input($data)."</p>";
More information can be found in the [url="http://ellislab.com/codeigniter/user-guide/libraries/form_validation.html"]documentation for the form validation class[/url]. Perhaps I'm going blind at the ripe old age of 28, but I don't see where you're loading the form validation library. I assume it's set to load automatically?
EDIT: Another thing to note is that you do not need to call session_start(). The session library does all that for you.