Wordpress has an auto formatting feature that removes <br> or <p> from your posts. To prevent this from happening add this code to your functions.php file:

Code:
<?php
function my_formatter($content) {
    $new_content = '';
    $pattern_full = '{(\[raw\].*?\[/raw\])}is';
    $pattern_contents = '{\[raw\](.*?)\[/raw\]}is';
    $pieces = preg_split($pattern_full, $content, -1, PREG_SPLIT_DELIM_CAPTURE);
 
    foreach ($pieces as $piece) {
        if (preg_match($pattern_contents, $piece, $matches)) {
            $new_content .= $matches[1];
        } else {
            $new_content .= wptexturize(wpautop($piece));
        }
    }
 
    return $new_content;
}
 
remove_filter('the_content', 'wpautop');
remove_filter('the_content', 'wptexturize');
 
add_filter('the_content', 'my_formatter', 99);
?>
Just add [raw] and [/raw] on the portions of the page you dont want Wordpress to touch.

* You will have to re-add this code each time you update wordpress... So you may want to bookmark this or save the info.

Thanks to Adam Mershon