As far as I know, iSimulate is not employing any hacks. It is code that runs within your app on the Simulator which communicates with a device over the network. When it receives messages from the device (touches, GPS, acceleration) it simulates those events by calling your app's code as though the system had triggered them.
For example, to receive GPS location updates you must create an instance of CLLocationManager and then configure one of your classes to be its delegate. Well, on the iPhone Simulator you can instead start code that sends fake messages to your delegate instead. If you just call a delegate's method like this:
[delegate locationManager:nil didUpdateToLocation:newLocation fromLocation:oldLocation];
Your code won't have to know that the location update is fake. If you want to get fancy, you could create a new class that implements all the public methods of CLLocationManager but which sends fake messages instead. (Since Objective-C is dynamically typed, it won't need to be a subclass, as long as it responds to all the messages you send.)
As a side note, you can use these compiler macros to keep code simulator-only:
#if TARGET_IPHONE_SIMULATOR
locationManager = (id)[[MyFakeLocationManager alloc] init];
#else
locationManager = [[CLLocationManager alloc] init];
#endif