I wish to have the ability to use foo on these two mod re-creates this is exactly what I presently have and it is working fine:

#Links to categorys
    RewriteRule foo/(.*)/ foo.php?cat=$1
    RewriteRule foo/(.*) foo.php?cat=$1 

#Links to categorys with pagination    
    RewriteRule fooo/(.*)/(.*)/ foo.php?cat=$1&id=$2
    RewriteRule fooo/(.*)/(.*) foo.php?cat=$1&id=$2

But actually want to have this rather:

#Links to categorys
    RewriteRule foo/(.*)/ foo.php?cat=$1
    RewriteRule foo/(.*) foo.php?cat=$1

#Links to categorys with pagination    
    RewriteRule foo/(.*)/(.*)/ foo.php?cat=$1&id=$2
    RewriteRule foo/(.*)/(.*) foo.php?cat=$1&id=$2

as both of them are relevent to one another (same pages) only a situation of more pagination id's but when I don't possess the extra "o" it conflicts and thus produce a 404

any assistance is much appreciated

The issue originates from the truth that this rule:

RewriteRule foo/(.*)

...will match something that would suit your pagination rules, and is going to do it first. The easiest option would be to simply invert the rule order making a couple of small changes:

#Links to categorys with pagination
RewriteRule foo/([^/]*)/([^/]+)/? foo.php?cat=$1&id=$2

#Links to categorys
RewriteRule foo/([^/]*)/? foo.php?cat=$1

Furthermore, in case your script are designed for id being passed without any value, you can easily condense everything right into a single rule:

# Links to categories with optional pagination
RewriteRule foo/([^/]*)(?:/([^/]+))?/? foo.php?cat=$1&id=$2