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