First, some background on how paths work. Absolute paths are based on the server root. Relative paths are based on the URL (not the file path) of the current page. However, this behavior is NOT handled by the server--its handled by the client, and this behavior is universal (Yes, even IE6... I know, surprise!). The only thing that would cause these two paths to NOT be the same would be if they're not relative to the root of the web site.
For example, if we're trying to access the URL you mentioned above (/styles/styles.css), here's how they would behave on the following two examples:
"Main Server" web site hosted at http://mainwebsite/index.html
styles/styles.css => http://mainwebsite/styles/styles.css
/styles/styles.css => http://mainwebsite/styles/styles.css
"Dev Server" web site hosted at http://devsite/some_sub_dir/index.html
styles/styles.css => http://devsite/some_sub_dir/styles/styles.css
/styles/styles.css => http://devsite/styles/styles.css
If you clarify your answer (these servers are clearly not hosting the same data in the same way), I could provide a more accurate description. However, if I had to guess, I'd say you're probably running into the issue I described.