could you try something for me please? Could you run Excel 2010 without loading PyXLL and have a look at what dlls are loaded using procexp.exe from sysinternals? (http://live.sysinternals.com/procexp.exe
I'm particularly interested to see where it's loading msvcr90.dll from. In process explorer, click View->Lower Pane View->DLLs to show the dlls loaded by a process. Select EXCEL.EXE and then find msvcr90.dll from the list below and double click it. That should bring up the properties and will tell you where it's loaded from.
For me, it is here:
This dll is also used by Python. In previous version of Excel, Excel itself used a different runtime dll but with Excel 2010 it happens to be the same version that python requires.
You could use process explorer to see what dlls Excel 2003 has loaded when using PyXLL as well, just to double check it is picking up the python dlls you expect it to.
I have installed portable python and removed all previously installed versions of python 2.7 to try and reproduce this problem. I set the following environment variables:
After doing that I have not been able to find any problems using PyXLL with portable python with Excel 2010 I'm afraid, so there must be something different happening in your case that we need to identify