[self proc] inside a method that has been called inside an [ob eval] block gives the result "eval" inside of the method we're in.
In practise this is now causing so many headaches I think I'm going to give up on doing this package using XOTcl that way. There appears to be no (working?) way to run a script within the 'context' of an object, in order to easily parse data which is formed in the style of a Tcl script. This is unfortunate as it would likely have offered clear performance benefits.
I may still try to do it directly with normal namespaces instead of XOTcl.