It’s the EXACT source code and schematic used in the project here: http://www.engineersgarage.com/microcontroller/8051projects/interface-keypad-AT89C51-circuit
I suppose I wasn’t clear enough in referencing that.
However, the problem was “mostly” solved and was found to be mainly a timing issue.
void delay(unsigned int msec) //Time delay function
int i,j ;
In that part of the code, I just changed the “1275” to “6375” and it slowed down the program enough to let it work.
We think our biggest issue is that we were also using a different brand of 8051 such as this one here: http://www.microdigitaled.com/Images/mde_8051.jpg the DS89C430 brand and so there may of been some disparities between the code written for the Atmel and that one. Hopefully this helps anyone else who may end up using a different brand of processor and has a similar issue.
It still has issues with working 100% properly, how ever it works well enough to do for a beginner project.