Changing permalink changes stylesheet path?

At a guess I’d say you’re linking to your stylesheet with a relative url like so:

<link href="https://wordpress.stackexchange.com/questions/6643/wp-content/themes/my-theme/style.css" rel="stylesheet" />

so when you end up anywhere other than the home page it’s looking at the full URL plus the path indicated to your stylesheet.

Make sure your stylesheet URL begins with a slash if you’re putting it in as static HTML eg:

<link href="https://wordpress.stackexchange.com/wp-content/themes/my-theme/style.css" rel="stylesheet" />

Even better though is to use the built-in wordpress function for getting the stylesheet URL as Eileen has indicated in the comments. Use this syntax:

<link href="https://wordpress.stackexchange.com/questions/6643/<?php bloginfo("stylesheet_url'); ?>" rel="stylesheet" />

In order to include other CSS files look into the wp_enqueue_style() function in the codex – http://codex.wordpress.org/Function_Reference/wp_enqueue_style

error code: 523