Success!

Thanks yet again for advice! Now Talana literally has a 'place in the sun' at otherwise empty and void Alpha Lyrae...
The empty solar system was easy to make work partially: Just define number of planets for the sun] as 0 at the special star system generation code's GENERATE_PLANETS case. Already this would work otherwise, but if battlegroups were generated inside the system the game would crash.
The problem was in the point in grpinfo.c where all the battlegroups were placed in certain coordinates in the star system. The code would place their coordinates regarding to planets and when there are no planets, it's trouble time.
To correct it, I wrote special cases in grpinfo.c's GetGroupInfo() in couple of places which would work like if (number of planets==0) {place battle groups in about middle of the screen.}
---
Intersecting with the sun worked by changing that "can't intersect with sun" bit of code to work like "can't intersect with sun except if there are 0 planets in the system". To test it I put the syreen conversation code in GENERATE_ORBITAL for Sundesc[0].
At first that crashed, but it seems that when I put GenerateRandomIP for GENERATE_MOONS, GENERATE_ORBITAL and GENERATE_PLANETS and only after the GenerateRandomIP I defined the numplanets=0, the conversation would start upon hitting the sun.
Now the game would crash only when exiting the sun. This was due to DrawOrbit function in solarsys.c. I Changed
pPlanetDesc->image.frame = SetAbsFrameIndex (OrbitalFrame,
(Size << FACING_SHIFT) + NORMALIZE_FACING (
ANGLE_TO_FACING (ARCTAN (
pPlanetDesc->pPrevDesc->location.x,
pPlanetDesc->pPrevDesc->location.y))));
to
pPlanetDesc->image.frame = SetAbsFrameIndex (OrbitalFrame,
(Size << FACING_SHIFT) + 2;
in case there were 0 planets in the system so it wouldn't try to read the pPrevDesc's location since I guess there is no pPrevDesc for the sun. This piece of code decides how much zoomed the star should be when drawn on the screen, just a graphical thing.
---
So all in all, it works!
Only thing is that the battlegroups are very insistent on moving from the very center to the left edge of screen to circle some invisible point there. I guess that is because GroupPtr->dest_loc given as a number of planet and when there are no planets...
I Didn't yet try to give -1 as the dest_loc since that just might be the sun (if it works like sortPlanetPositions at solarsys.c) so that's what I need to try next. Oh, and instead of syreens, make it a transition to hyperspace or something better

Again, I sounded like a technical manual here... I hope this post will be helpful to some modder out there!