Problem with Ethernet PHY
A few things you could try:


Double check the circuitry around the magnetics on your board.  If anything is incorrect you are likely to have difficulty with some link partners and not others.
Turn off auto-negotiation and force both ends to the same speed.
You suspect SI issues - dig out the scope and have a look at when the PHY sees.


If you can transmit OK without errors at (forced) 10MBit/s but can't get link at 100MBit/s I'd start reviewing the schematics and board design and probing signals with a scope, starting from the magnetics.