if you look at catalog/application_top.php around line 390 you may find a bit of code that looks like:
// customer adds a product from the products page
case 'add_product' : if (isset($HTTP_POST_VARS['products_id']) && is_numeric($HTTP_POST_VARS['products_id'])) {
$cart->add_cart($HTTP_POST_VARS['products_id'], $cart->get_quantity(tep_get_uprid($HTTP_POST_VARS['products_id'], $HTTP_POST_VARS['id']))+1, $HTTP_POST_VARS['id']);
Amend the first line of that to something like:
case 'add_product' : if (isset($HTTP_POST_VARS['products_id']) && is_numeric($HTTP_POST_VARS['products_id']) && $cart->count_contents() < 1) {
That'll stop more than 1 being added from the product pages - you will also have to cover case 'buy_now' in teh same file if it is in use and also edit the shopping_cart.php file to remove the ability for customer to order multiple quantities of the single product you are allowing.
the above is based on osC 2.2