Ok so this is probably the 100th time someone has brought this up, but
searching the group brings up all the spam emails, and nothing of
value... so I'm going to try again.

I'm dealing with a LOT of numbers in my application, and a lot of
calculations.. and I'm starting to run into problems when I'm adding
two percentages of a number together, due to rounding, and I'm off a
cent or two here or there....

The problems arise when you're doing calculations with those
numbers...example... if I want 2% of a number it might be
123.3352222 which is 123.34 in money talk... and say I have that
twice then it's 123.335111111 + 123.3351111 = 246.670111111 or rounded
up to 246.67. However in "money calc" it's actialy 246.68 because
123.335 is 123.34 which is then added together twice to get you 123.34
+ 123.34.

Obviously that's a messy examplee, but it should illustrate the
point.... the decimal datatype is only rounded when it's put into the
database... a lot of my displayed calcs are done using methods IE @invoice.show_total might be a method that takes the QTY * COST of
each lines, does any Tax Calcs and displays the total... I don't need
to store this number. ( again... rough example... but you should get
the idea )

The problems arise when you're doing calculations with those
numbers...example... if I want 2% of a number it might be
123.3352222 which is 123.34 in money talk... and say I have that
twice then it's 123.335111111 + 123.3351111 = 246.670111111 or rounded
up to 246.67. However in "money calc" it's actialy 246.68 because
123.335 is 123.34 which is then added together twice to get you 123.34
+ 123.34.

Decimal columns in the database get typecast to the Ruby BigDecimal
type, so your calculations should be fine.

I'm losing a lot of pennies here and there and it's all on
%calculations...

Any ideas?

Probably because temporary results of your calculations get stored in database. BigDecimal will keep exact numbers, the database will store float approximations.
The plugin you refer to ensures that when you handle money values in Database they keep the exact same value than Ruby ones, assuming your precision is always at best 1/100 in the currency you are working with. So you can dump/load values in database in the middle of your calculations without affecting the results (always with the limitation that you can't use more precision than 1/100).